EPD_Graphic_Lib.exe

Getting Started ›› Software ››
Parent Previous Next


EPD Graphic Library Set-up Tool

(Current version 1.00)



EPD_Graphic_Lib.exe is the main tool used to properly configure TFT & EPD Graphic Library 2 for EPD displays.
It automatically generates all the necessary include files required by your program. Due to the increasing complexity of the library, this tool is now mandatory, as it ensures that only the required optimized files are included and always in the correct order, based on your selected settings.


In addition, the tool provides new features such as saving and loading configuration profiles, and previewing fonts (BDF or Standard) before they are included.


Important: For the tool to function correctly, EPD_Graphic_Lib.exe must be located in the main library directory TftLib, together with the file EPD_Graphic_Lib.inc


PROFILE MANAGEMENT


MCU TYPE - Select the MCU type being used:


EPD IC, EPD Width, EPD Height, W-Offset, H-Offset


EPD Type - Select the EPD color type:


This also determines which OTP waveform registers get used, since 1-plane and 2-plane panels often handle waveforms differently — even the Black/White plane itself may need to be driven differently on a BWR/BWY panel than on a plain BW panel.


Frame Buffer - Select the type of frame buffer to use:


EPD COM - Select the EPD communication interface type: 


EPD COMMUNICATION LINES - Configure which ports or pins will be used for the selected communication interface:


BUSY Idle - determines how the busy line will be handled by the Library:


SW mode is the library's default and is recommended unless your application specifically needs the MCU to remain free during a refresh.
This distinction matters because handling BUSY incorrectly is a common source of intermittent, hard-to-reproduce glitches in EPD projects - particularly when timing is handled manually, or when code is ported from display types where every write completes synchronously and no such wait is needed at all.


SRAM - Select external memory type:


SRAM COM - select SRAM interface: 


SRAM SPI Lines:


Address Size - SRAM memory address size in bits 


Fonts Bar:

Note: 

- Font smoothing is available only when frame buffer is used.

- Font resizing is not available in buffer-less mode 


Check List:

To the right of the header text box, a check list dynamically tracks what's been filled in and what still needs attention for the current setup.
Note that the check list doesn't validate the correctness of what you enter — port assignments, parameter values, and the like — it only confirms whether every field required for your currently selected scenario has been filled in.


Header Text Box - This section displays all required includes and defines, generated in the correct order, to ensure proper operation of the TFT Graphic Library.


COPY TO CLIPBOARD - Copies all generated includes and defines from the Header Text Box directly to the clipboard.


Example header:

Device = 18F57Q83


Declare Xtal = 64

Declare Auto_Heap_Arrays = On

Declare Auto_Heap_Strings = On

Declare Auto_Variable_Bank_Cross = On

Declare Watchdog = OFF

Declare Warnings = OFF

Declare Optimiser_Level = 3


'================ MCU =======================

$define McuType              0

'================ EPD SCREEN ================

$define EPD_IC               SSD1680

$define EpdScreenWidth       128

$define EpdScreenHeight      296

$define EpdWidthOffset       8

$define EpdHeightOffset      0

$define EpdType              BWR

$define EpdFrameBuffer       SRAM_A

$define EpdIdle              SW

$define EPD_COM              SPI_SW

$define EPD_RESET            PORTC.7

$define EPD_CS               PORTE.1

$define EPD_DC               PORTC.1

$define EPD_MOSI             PORTC.2

$define EPD_SCLK             PORTC.3

$define EPD_BUSY             PORTA.5

Include                      "TftLib\TFT_Graphic_Lib.inc"

Include                      "TftLib\Colors\Colors.inc"

Include                      "TftLib\System\System.inc"

Include                      "TftLib\Shapes\Shapes.inc"

Include                      "TftLib\Shapes\Shapes_SPI_V3.inc"

Include                      "TftLib\EPD_Graphic_Lib.inc"

Include                      "TftLib\EPD\Drivers\EPD_Drivers.inc"

Include                      "TftLib\EPD\Drivers\SSD1680.inc"

Include                      "TftLib\EPD\System\EPD_System.inc"

Include                      "TftLib\EPD\System\EPD_System_V2.inc"

Include                      "TftLib\EPD\System\EPD_System_SRAM1.inc"

'================ SRAM      =================

$define SRAM                 1

$define SRAM_COM             SPI_SW

$define SRAM_CS              PORTA.2

$define SRAM_MOSI            PORTB.0

$define SRAM_MISO            PORTB.2

$define SRAM_SCLK            PORTB.3

$define MEM_ADDRESS_SIZE     24

'=============== SND FONT ===================

$define FontSNDUsed          1

Include                      "TftLib\Fonts\SND\F0_SND_8x8_Basic.inc"

Include                      "TftLib\Fonts\SND\F5_SND_8x12_Basic.inc"

Include                      "TftLib\Fonts\SND\F15_SND_16x16_Basic_Hallfetica.inc"

$define FontSmooth           0

$define FontMaxSpace         16

$define FontMaxPixels        16

Include                      "TftLib\Fonts\SND.inc"

Include                      "TftLib\Fonts\SND_SPI_V3.inc"

'=============== BDF FONT ===================

$define FontBDFUsed          1

Include                      "TftLib\Fonts\BDF\F0_BMEULJIROTTF_Basic-22pt.inc"

Include                      "TftLib\Fonts\BDF.inc"

Include                      "TftLib\Fonts\BDF_SPI_V3.inc"

Created with the Personal Edition of HelpNDoc: Transform Your Documentation Process with HelpNDoc's Project Analyzer