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.

Remove prior installation of another edition

If another edition of PDLS has been installed,

  • Open the sub-folder library of the Arduino folder.

  • Delete all the sub-folders starting with hV_, PDLS_ and Pervasive_.

This ensures a clean installation of the new edition.

In case of an edition mismatch, an error is raised at build-time.

./PDLS_Advanced/src/PDLS_Advanced.h:43:2: error: #error Required Advanced (Commercial or Evaluation) edition of PDLS_Common 43 | #error Required Advanced (Commercial or Evaluation) edition of PDLS_Common | ^~~~~

Screen

Update

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

  • flush() performs a fast update when the driver supports it, otherwise a normal update.

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

  • flush() performs a normal update;

  • flushFast() performs a fast update.

Specific boards

ESP32

The Basic edition uses the default SPI port.

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

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

c 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.

cpp uint8_t * frameBuffer = (uint8_t *) ps_malloc(frameSize_EPD_271); Screen_EPD myScreen(&myDriver, frameBuffer);

Warning

The ESP32 boards have a specific implementation of SPI on the Arduino SDK. The source code may require to be manually adapted.

MSP430 FRAM

The Basic edition does not support MSP430 FRAM.

The Advanced and Commercial editions support MSP430 FRAM.

cpp uint8_t frameBuffer[frameSize_EPD_271] PLACE_IN_FRAM; Screen_EPD myScreen(&myDriver, frameBuffer);

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

Warning

Support for Texas Instruments LaunchPad boards is deprecated.

Warning

The MSP430 is a 16-bit MCU and may limit the default size of variables and arrays. The source code may require to be adapted.

SDK

The Basic edition focuses on the Arduino SDK and can be interfaced to another SDK by adapting the Peripherals library.

The Evaluation edition only supports 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.