Skip to content

Migrate from Basic to Evaluation or Commercial edition

This technical note lists how to migrate from Basic to Evaluation or Commercial edition.

Screen

Constructor

The Basic edition accepts the short reference of the screen.

Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_271_PS_09, boardRaspberryPiPico_RP2040);

The Evaluation and Commercial editions require the complete reference of the screen, size and type.

Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_271_PS_09, boardRaspberryPiPico_RP2040);

Update

The Basic edition shares the same command across the different variants.

  • flush() performs a global update for PDLS_EXT3_Basic_Global, and a fast update for PDLS_EXT3_Basic_Fast and PDLS_EXT3_Basic_Touch.

The Evaluation and Commercial editions have specific commands for each update mode.

  • flush() performs a global update;

  • flushFast() performs a fast update; and

  • flushPartial() performs a partial update.

Specific boards

ESP32

The Basic edition uses the default SPI port.

SPI.begin(14, 12, 13); // SCK MISO MOSI

The Evaluation and Commercial editions set the pins for the SPI port explicitly.

SPI.begin(14, 12, 13); // SCK MISO MOSI

If PSRAM is available, the Basic edition uses PSRAM by default.

The Advanced and Commercial editions require PSRAM to be explicitly defined.

uint8_t * frameBuffer = (uint8_t *) ps_malloc(frameSize_EPD_EXT3_271);
Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_271_PS_09, boardESP32DevKitC, frameBuffer);

MSP430 FRAM

The Basic edition does not support MSP430 FRAM.

The Advanced and Commercial editions support MSP430 FRAM.

uint8_t frameBuffer[frameSize_EPD_271] PLACE_IN_FRAM;
Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_271_PS_09, boardLaunchPad, frameBuffer);

Additionally, FRAM may rise an issue when used with the Energia SDK. Frequency needs to be lowered at 8 MHz.

SDK

The Basic and Evaluation editions only support the Arduino SDK.

The Commercial edition gives access to other SDKs and APIs by adapting the Peripherals library. The twenty-four functions manages general initialisation and exit; configuration and use of GPIOs and UART, SPI and I²C buses; and miscellaneous like time and random.