Migrate from Viewer to Commercial edition and back¶
This technical note lists how to migrate from Viewer to Commercial edition and back.
At the application level, the code is fully compatible between the Viewer and Commercial editions.
Only a limited set of libraries needs to be adapted.
Include folders and libraries¶
Shared folders and libraries¶
Below are listed the names of the folders of the libraries to be provided for building and linking. Differences are in bold.
Libraries | Viewer | Commercial |
---|---|---|
Common | hV_Common hV_HAL_Peripherals_Viewer hV_Board_Viewer hV_Utilities_PDLS |
hV_Common hV_HAL_Peripherals hV_Board_EXT3 hV_Utilities_PDLS |
Font | hV_Font_DejaVu_Header |
hV_Font_DejaVu_Header |
The include statements are the same for the Viewer and Commercial editions.
// SDK
#include "hV_HAL_Peripherals.h"
// Configuration
#include "hV_Configuration.h"
Screen folders and libraries¶
Below are listed the names of the folders of the libraries to be provided for building and linking.
Libraries | Viewer | Commercial |
---|---|---|
Screen | PDLS_EXT3_Viewer_Touch |
PDLS_EXT3_Advanced_Touch |
The include statements differ for the Viewer and Commercial editions.
// Screen
#include "PDLS_EXT3_Viewer_Touch.h"
// Screen
#include "PDLS_EXT3_Advanced_Touch.h"
However, both PDLS_EXT3_Viewer_Touch
and PDLS_EXT3_Advanced_Touch
are umbrella header files.
By calling the screen header file directly, the include statement is the same for the Viewer and Commercial editions.
// Screen
#include "Screen_EPD_EXT3.h"
Application folders and libraries¶
Below are listed the names of the folders of the libraries to be provided for building and linking. Differences are in bold.
Libraries | Viewer | Commercial |
---|---|---|
Code | hV_Code |
hV_Code |
Graphics | hV_Graphics |
hV_Graphics |
GUI | hV_GUI_Fast |
hV_GUI_Fast |
File | hV_File |
hV_File SD |
Serial | hV_Serial |
hV_Serial |
On the Commercial edition, the file library requires an external third-party SD library compatible with the SDK or API and the MCU.
The include statements are the same for the Viewer and Commercial editions.
// Applications
#include "hV_Code.h"
#include "hV_Graphics.h"
#include "hV_GUI.h"
#include "hV_Serial.h"
#include "hV_File_Linux.h"
Check list¶
Configuration¶
The Viewer edition requires specific options for the configuration of strings and storage, as detailed at the Configure section:
-
String should be set to C-standard
char array
; -
Storage should be set to Linux;
-
Although the main controller board can be omitted, it is highly recommended to mention the main controller board with the targeted MCU.
Viewer specific functions¶
The Viewer edition exposes specific functions.
For optimal compatibility with the Commercial edition, use and check the WITH_VIEWER
macro.
#if defined(WITH_VIEWER)
myScreen.setViewerHelp(true);
#endif // WITH_VIEWER
Screen refresh¶
Although both the Viewer and Commercial editions expose the flush()
and flushFast()
refresh functions, the Viewer edition performs them the same way.
Files¶
Both the Viewer and Commercial editions write files in BMP
, pixmap or PBM
, image and 16-bit image formats.
Both the Viewer and Commercial editions read files in BMP
, pixmap or PBM
formats.
Additionally, the Viewer edition writes and reads files in PNG
format.
Info
For the Commercial edition, files operations are not recommended, as the management of the SD-card by an MCU is rather slow and prone to interferences.