My fork of the InkPlate SDK.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guy Turcotte bfb047a02b Update to version 0.9.3 3 years ago
doc Compile OK, first simple test OK 3 years ago
examples Got rid of .ino files 3 years ago
include Corrected ESP::analog_read() attenuation 3 years ago
licenses Added Fonts and examples, debugging network download 3 years ago
src Fix SD card setup failure on ESP-IDF 4.2 3 years ago
test NetworkClient debugging 3 years ago
.gitignore Library re-org 3 years ago Some Inkplate class methods adjustments 3 years ago Update to version 0.9.3 3 years ago
library.json Update to version 0.9.3 3 years ago
licenses.txt Library re-org 3 years ago

ESP-IDF-InkPlate Library Version 0.9.3

(March 2, 2021)

A porting effort to the ESP-IDF framework for the e-Radionica InkPlate software that can be find here.

--> Work in progress. It is usable, but testing remains to be completed. <--

Look in the examples folder for ready-made applications. This library is conform to the PlatformIO IDE extension. All examples can be compiled using PlatformIO.

Information about the modifications is located in file

ESP-IDF configuration specifics for InkPlate devices

An InkPlate application requires some functionalities to be properly set up within the ESP-IDF. The following elements have been done for this project and can be used as a reference for other projects:

  • PSRAM memory management: The PSRAM is an extension to the ESP32 memory that offers 4MB+4MB of additional RAM. The first 4MB is readily available to integrate into the dynamic memory allocation of the ESP-IDF SDK. To do so, some parameters located in the sdkconfig file must be set accordingly. This must be done using the menuconfig application that is part of the ESP-IDF. The following command will launch the application (the current folder must be the main folder of EPub-InkPlate):

    $ menuconfig

    The application will show a list of configuration aspects. To configure PSRAM:

    • Select Component Config > ESP32-Specific > Support for external, SPI-Connected RAM
    • Select SPI RAM config > Initialize SPI RAM during startup
    • Select Run memory test on SPI RAM Initialization
    • Select Enable workaround for bug in SPI RAM cache for Rev 1 ESP32s
    • Select SPI RAM access method > Make RAM allocatable using malloc() as well

    Leave the other options as they are.

  • ESP32 processor speed: The processor must be run at 240MHz. The following line in platformio.ini request this speed:

    board_build.f_cpu = 240000000L

    You can also select the speed in the sdkconfig file:

    • Select Component config > ESP32-Specific > CPU frequency > 240 Mhz
  • FAT Filesystem Support: If the application requires the usage of the micro SD card. This card must be formatted on a computer (Linux or Windows) with a FAT 32 partition. The InkPlate6Ctrl class requires this in its current configuration. The following parameters must be adjusted in sdkconfig:

    • Select Component config > FAT Filesystem support > Max Long filename length > 255
    • Select Number of simultaneously open files protected by lock function > 5
    • Select Prefer external RAM when allocating FATFS buffer
  • Flash memory partitioning (optional): the file partitions.csv contains the table of partitions definition for the 4MB flash memory, required to support the largest applications size in an OTA context. The partitions OTA_0 and OTA_1 have been set to be 1.3MB in size. In the platformio.ini file, the line board_build.partitions=... is directing the use of these partitions configuration.