Skip to content

Viewer

The screen of the Viewer is used by all other functions and libraries.

Configure

Select the library PDLS_EXT3_Viewer_Touch corresponding to the Viewer edition.

#define STRING_MODE USE_CHAR_ARRAY

Ensure the string is set to the C-standard char array supported by the cstring library among the parameters.

#define STORAGE_MODE USE_LINUX_FILES | USE_SERIAL

Ensure the storage is set to Linux among the parameters. Serial could be added as an option.

#include "PDLS_EXT3_Viewer_Touch.h";

The pre-processor statement includes the screen libraries.

1
2
3
Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_370_PS_0C_Touch,
    boardNone,
    frameBuffer);

The constructor Screen_EPD_EXT3_Fast creates the screen object.

The required parameter is

The optional parameters are

Warning

Although the main controller board can be omitted, it is highly recommended to mention the main controller board with the targeted MCU.

  • The third line links to the frame-buffer if declared statically at build-time.

Screen model

  • Please refer to the Screen model procedure for the screen.

Board configuration

This parameter is ignored and can be omitted.

However, it is recommended to specify the main controller board of the project.

Frame-buffer

  • Please refer to the Frame-buffer procedure for the screen.

Use

  • Please refer to the Use procedure for the screen.

Except the PDLS_EXT3_Viewer_Touch library and the specific peripheral library, all the other libraries are identical: shared libraries for fonts, common graphic and text primitives, configuration; all the application libraries for graphics, bar- and QR-code, GUI, Files, serial; and the main program.

At run-time, Viewer offers the keyboard commands and their corresponding functions.

Example

This is the core of the code from the example WhoAmI.ino with two version: simulated with the Viewer edition and connected to an actual screen with the Commercial edition.

Using PDLS_EXT3_Viewer_Touch of the Viewer edition

// SDK
#include "hV_HAL_Peripherals.h"

// Configuration
#include "hV_Configuration.h"

// Screen
#include "PDLS_EXT3_Viewer_Touch.h"

Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_370_PS_0C_Touch, boardRaspberryPiPico_RP2040);

hV_HAL_begin();
myScreen.begin();

myScreen.gText(4, 4, myScreen.WhoAmI());
myScreen.flushFast();
hV_HAL_demayMilliseconds(4000);

myScreen.regenerate()
hV_HAL_end();

Using PDLS_EXT3_Advanced_Touch of the Commercial edition

// SDK
#include "hV_HAL_Peripherals.h"

// Configuration
#include "hV_Configuration.h"

// Screen
#include "PDLS_EXT3_Advanced_Touch.h"

Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_370_PS_0C_Touch, boardRaspberryPiPico_RP2040);

hV_HAL_begin();
myScreen.begin();

myScreen.gText(4, 4, myScreen.WhoAmI());
myScreen.flushFast();
hV_HAL_demayMilliseconds(4000);

myScreen.regenerate()
hV_HAL_end();