Used environment¶
The highView Library Suite is developed in C++ and relies on objects.
Editions¶
Basic edition SDK¶
The Basic edition leverages the Arduino SDK as a hardware abstraction layer for the peripherals GPIO, UART, SPI and I²C.
The Arduino SDK supports a large range of platforms and boards, including AVR, Cortex-M, Cortex-A, ESP32, Intel x86, MSP430, PIC32 and more.
The recommended IDE is the Arduino IDE 1.8.19
or 2.2.1
with the boards package corresponding to the targeted platform and board.
The Arduino wiki provides an Unofficial list of 3rd party boards . Another reference is the list of all known Arduino hardware packages .
As an alternative to the Arduino IDE, consider the Visual Studio Code IDE 1.84.0
with the Arduino extension 0.6.0
.
Evaluation edition pre-compiled libraries¶
The pre-compiled libraries of the Evaluation edition are generated according to the Precompiled binaries procedure of the Library specifications page for Arduino CLI 0.34.2
.
They are available for the following platforms and boards:
-
32-bit Cortex-M0+ Raspberry Pi RP2040, with Arduino IDE
1.8.19
or2.2.1
and boards package Pico RP20403.6.0
; -
32-bits Espressif ESP32, with Arduino IDE
1.8.19
or2.2.1
and boards package ESP322.0.13
; -
32-bits Adafruit Feather nRF52840, with Arduino IDE
1.8.19
or2.2.1
and boards package Adafruit nRF521.5.0
.
As an alternative to the Arduino IDE, consider the Visual Studio Code IDE 1.84.0
with the Arduino extension 0.6.0
.
Other platforms and boards may be available on request.
Commercial edition SDK-agnostic¶
However, the Commercial edition is SDK-agnostic and only requires standard C/C++ libraries. The peripherals library should be adapted accordingly.
Adaptations have been successfully tested against the following SDKs:
-
ARM Mbed-OS
6.17.0
and legacy5.14.2
with IDE Mbed Studio1.4.5
for ARM Cortex-M MCU-based boards; -
BCM2835 library
1.73
for the Raspberry Pi boards; -
MRAA library
2.2.0
for the Raspberry Pi boards.
The application note details how to Migrate to another SDK.
Viewer edition for Linux and Windows¶
The Viewer edition runs as a Linux or Windows native application to simulate an e-paper screen and manage touch. It shares the same fonts and application libraries with the Commercial edition.
It allows to develop the application software independently of the hardware. It is meant to be used with the Commercial edition.
It has been tested successfully on Windows 11
and Linux Debian 12
.
Externals tools¶
External tools have been tested on Linux Debian 12
.
Version management¶
Each library has a release number to be checked at pre-processing.
Each library has its own release number.
#define hV_FONT_TERMINAL_RELEASE 503
The release number is checked at pre-processing.
#include "hV_Font_Terminal.h"
#if hV_FONT_TERMINAL_RELEASE < 504
#error Required hV_FONT_TERMINAL_RELEASE 504
#endif
In this example, if the hV_Font_Terminal library release is 503
, the pre-processor expects 504
and prompts an error message:
#error Required hV_FONT_TERMINAL_RELEASE 504
highView library suite¶
The Pervasive Displays Library Suite relies on the highView library suite technologies.
The highView library suite provides a common high-level interface to drive multiple screen technologies, such as TFT, STN, OLED and e-paper, resistive and capacitive touch, and enhanced haptic feed-back.
The suite leverages objects for modular design, focuses on light footprint for memory and processing, and ensures compatibility with previous iterations of the suite.