Giter VIP home page Giter VIP logo

esp-idf-inkplate's People

Contributors

mzyy94 avatar tajnymag avatar tobymurray avatar turgu1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esp-idf-inkplate's Issues

Setup SD Card fails on stable version of ESP-IDF 4.2

Summary

SD card initialization fails with an error code ESP_ERR_INVALID_STATE on Inkplate 6.

Environment

  • Inkplate 6
  • PlatformIO version 5.1.0
  • ESP-IDF 4.2 (stable)
PACKAGES: 
 - framework-espidf 3.40200.210118 (4.2.0) 
 - tool-cmake 3.16.4 
 - tool-esptoolpy 1.30000.201119 (3.0.0) 
 - tool-ninja 1.9.0 
 - toolchain-esp32ulp 1.22851.191205 (2.28.51) 
 - toolchain-xtensa32 2.80400.210211 (8.4.0)

Reproduction Code

All code using this library with ESP-IDF 4.2, such as examples/Others/Inkplate_Maze_Generator

Reproduction step

  1. Insert microSD Card into Inkplate 6.
  2. Open Inkplate_Maze_Generator with PlatformIO.
  3. Build and upload the example.
  4. Monitor serial console.
  5. An SD Card setup error has occurred at startup.
I (1553) SDCard: Setup SD card
E (1553) vfs_fat_sdmmc: slot init failed (0x103).
E (1553) SDCard: Failed to setup the SD card (ESP_ERR_INVALID_STATE).
Log
> Executing task: pio device monitor --environment inkplate-6 <

--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on /dev/cu.usbserial-1440 115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:7280
ho 0 tail 12 room 4
load:0x40078000,len:13664
load:0x40080400,len:4632
entry 0x400806f4
[0;32mI (31) boot: ESP-IDF 3.40200.210118 2nd stage bootloader[0m
I (31) boot: compile time 18:47:22
I (31) boot: chip revision: 1
0;32mI (35) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (44) boot.esp32: SPI Speed : 40MHz[0m
I (47) boot.esp32: SPI Mode : DIO
I (51) boot.esp32: SPI Flash Size : 4MB
I (56) boot: Enabling RNG early entropy source...
I (61) boot: Partition Table:
I (65) boot: ## Label Usage Type ST Offset Length
I (72) boot: 0 nvs WiFi data 01 02 00009000 00004000
[0;32mI (79) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (87) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (94) boot: 3 factory factory app 00 00 00010000 00150000
I (102) boot: 4 ota_0 OTA app 00 10 00160000 00150000
I (109) boot: 5 ota_1 OTA app 00 11 002b0000 00150000
I (117) boot: End of partition table
[0;32mI (121) boot: Defaulting to factory image
I (126) boot_comm: chip revision: 1, min. application chip revision: 0
I (133) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x22b64 (142180) map
[0;32mI (201) esp_image: segment 1: paddr=0x00032b8c vaddr=0x3ffb0000 size=0x02870 ( 10352) load
I (206) esp_image: segment 2: paddr=0x00035404 vaddr=0x40080000 size=0x00404 ( 1028) load
I (209) esp_image: segment 3: paddr=0x00035810 vaddr=0x40080404 size=0x0a808 ( 43016) load
[0;32mI (238) esp_image: segment 4: paddr=0x00040020 vaddr=0x400d0020 size=0x557a8 (350120) map[0m
[0;32mI (384) esp_image: segment 5: paddr=0x000957d0 vaddr=0x4008ac0c size=0x08b00 ( 35584) load
[0;32mI (412) boot: Loaded app from partition at offset 0x10000[0m
I (412) boot: Disabling RNG early entropy source...[0m
I (413) psram: This chip is ESP32-D0WD
I (418) spiram: Found 64MBit SPI RAM device
I (422) spiram: SPI RAM mode: flash 40m sram 40m
I (427) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (434) cpu_start: Pro cpu up.
I (438) cpu_start: Application information:0m
I (443) cpu_start: Project name: Inkplate_Maze_Generator
I (449) cpu_start: App version: 7004c73-dirty
I (455) cpu_start: Compile time: Mar 2 2021 18:46:25
I (461) cpu_start: ELF file SHA256: 52cfd1b0a0bff91e...
I (467) cpu_start: ESP-IDF: 3.40200.210118
I (472) cpu_start: Starting app cpu, entry point is 0x40082b18
I (0) cpu_start: App cpu up.
[0;32mI (1364) spiram: SPI SRAM memory test OK
I (1365) heap_init: Initializing. RAM available for dynamic allocation:
I (1365) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (1371) heap_init: At 3FFB5D88 len 0002A278 (168 KiB): DRAM
I (1377) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAMm
I (1384) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1390) heap_init: At 4009370C len 0000C8F4 (50 KiB): IRAM
I (1397) cpu_start: Pro cpu start user code
I (1401) spiram: Adding pool of 4096K of external SPI memory to heap allocator
[0;32mI (1464) spi_flash: detected chip: gd
I (1465) spi_flash: flash io: dio
[0;32mI (1465) cpu_start: Starting scheduler on PRO CPU.
[0;32mI (0) cpu_start: Starting scheduler on APP CPU.
2mI (1473) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
D (1483) Wire: Initializing...
D (1483) EInk6: Initializing...
D (1483) Wire: Initializing...
D (1513) EInk6: MCP initialized.[0m
D (1513) EInk6: Memory allocation for frame/bitmap buffers.
D (1523) EInk6: d_memory_new: 3f849424 p_buffer: 3f857e98.
[0;32mI (1553) SDCard: Setup SD card
E (1553) vfs_fat_sdmmc: slot init failed (0x103).
E (1553) SDCard: Failed to setup the SD card (ESP_ERR_INVALID_STATE).
D (1653) Graphics: Update 1Bit frame buffer
D (1653) EInk6: 1bit Update...
[0;32mI (3103) Maze: Completed...

Details

An error vfs_fat_sdmmc: slot init failed (0x103). is caused by init_sdmmc_host() API call in sdmmc initialization code block at line https://github.com/espressif/esp-idf/blob/v4.2/components/fatfs/vfs/vfs_fat_sdmmc.c#L233 .

    if (host_config->flags == SDMMC_HOST_FLAG_SPI) {
        //Deprecated API
        //the init() function is usually empty, doesn't require any deinit to revert it
        err = (*host_config->init)();
        CHECK_EXECUTE_RESULT(err, "host init failed");
        err = init_sdspi_host_deprecated(host_config->slot, slot_config, &card_handle);
        CHECK_EXECUTE_RESULT(err, "slot init failed");
        //Set `host_inited` to true to indicate that host_config->deinit() needs
        //to be called to revert `init_sdspi_host_deprecated`; set `card_handle`
        //to -1 to indicate that no other deinit is required.
        host_inited = true;
        card_handle = -1;
    } else {
        err = (*host_config->init)();
        CHECK_EXECUTE_RESULT(err, "host init failed");
        //deinit() needs to be called to revert the init
        host_inited = true;
        //If this failed (indicated by card_handle != -1), slot deinit needs to called()
        //leave card_handle as is to indicate that (though slot deinit not implemented yet.
        err = init_sdmmc_host(host_config->slot, slot_config, &card_handle);
        CHECK_EXECUTE_RESULT(err, "slot init failed");
    }

The API is not for sdspi but for sdmmc, but the default value of host_config->flags set by SDSPI_HOST_DEFAULT() has been changed in ESP-IDF 4.2, so it is called and failed.
The block is not for sdspi but for sdmmc, so modifying the code not to reach here will solve the issue.
One solution is to add a single line of code in order to re-set the same value as in ESP-IDF 4.1, like below:

host.flags = SDMMC_HOST_FLAG_SPI;

Usage of the legacy adc driver is deprecated in ESP-IDF v5.0 onwards

Current version of esp-idf-inkplate is using a now deprecated esp-idf component. It's working correctly in IDF v5.0, but it is expected to be fully removed in future versions.

In file included from C:/Users/marek/GitHub/esp-idf-inkplate-bw-fix-poc/components/inkplate/include/services/esp.hpp:16,
                 from C:/Users/marek/GitHub/esp-idf-inkplate-bw-fix-poc/components/inkplate/include/drivers/mcp23017.hpp:29,
                 from C:/Users/marek/GitHub/esp-idf-inkplate-bw-fix-poc/components/inkplate/include/drivers/inkplate_platform.hpp:24,
                 from C:/Users/marek/GitHub/esp-idf-inkplate-bw-fix-poc/components/inkplate/include/graphical/inkplate.hpp:22,
                 from C:/Users/marek/GitHub/esp-idf-inkplate-bw-fix-poc/main/main.cpp:20:
C:/Espressif/frameworks/esp-idf-v5.0.2/components/driver/deprecated/driver/adc.h:19:2: warning: #warning "legacy adc driver is deprecated, please migrate to use esp_adc/adc_oneshot.h and esp_adc/adc_continuous.h for oneshot mode and continuous mode drivers respectively" [-Wcpp]
   19 | #warning "legacy adc driver is deprecated, please migrate to use esp_adc/adc_oneshot.h and esp_adc/adc_continuous.h for oneshot mode and continuous mode drivers respectively"
      |  ^~~~~~~

Espressif recommends using a new adc_oneshot driver (link)

x509

I am trying the first examples and I am experiencing this problem with PlatformIO

` Executing task: platformio run --environment inkplate-10 <

Processing inkplate-10 (platform: espressif32; board: esp-wrover-kit; framework: espidf)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp-wrover-kit.html
PLATFORM: Espressif 32 (3.3.2) > Espressif ESP-WROVER-KIT
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (ftdi) On-board (ftdi) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:

  • framework-espidf 3.40300.0 (4.3.0)

  • tool-cmake 3.16.4

  • tool-esptoolpy 1.30100.210531 (3.1.0)

  • tool-ninja 1.7.1

  • toolchain-esp32ulp 1.22851.191205 (2.28.51)

  • toolchain-xtensa32 2.80400.210211 (8.4.0)
    Reading CMake configuration...
    Generating assembly for certificate bundle...
    CMake Error at /home/lorenko/.platformio/packages/framework-espidf/tools/cmake/scripts/data_file_embed_asm.cmake:26 (file):
    file failed to open for reading (No such file or directory):

    /home/lorenko/esp/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/.pio/build/inkplate-10/x509_crt_bundle

*** Error 1
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 1 compatible libraries
Scanning dependencies...
Dependency Graph
|-- 0.9.4+sha.9365c7f
Building in release mode
*** [.pio/build/inkplate-10/.pio/build/inkplate-10/x509_crt_bundle.o] Source .pio/build/inkplate-10/x509_crt_bundle.S' not found, needed by target .pio/build/inkplate-10/.pio/build/inkplate-10/x509_crt_bundle.o'.
================================================================================================ [FAILED] Took 4.70 seconds ================================================================================================

Environment Status Duration


inkplate-10 FAILED 00:00:04.696
========================================================================================== 1 failed, 0 succeeded in 00:00:04.696 ========================`

ESP-IDF v5: Native IDF Hello World not working - Waveform load failed

Prompted by:

The example was tested only with ESP-IDF version 4.4.1. However, as the library and example itself were made as universal as they could, past and future versions should work as well. If not, please open a new issue and let us know.

I've just set up my ESP-IDF on the head of release/v5.0 (currently here).

I've cloned this repo and checked out idf-v5.0-support (currently here).

Trying to run the Native_IDF/Hello_World example on my Inkplate 6 Plus get the following:

I (29) boot: ESP-IDF v5.0-541-g885e501d99 2nd stage bootloader
I (29) boot: compile time 21:27:01
I (29) boot: chip revision: v1.0
I (33) boot.esp32: SPI Speed      : 40MHz
I (38) boot.esp32: SPI Mode       : DIO
I (42) boot.esp32: SPI Flash Size : 4MB
I (47) boot: Enabling RNG early entropy source...
I (52) boot: Partition Table:
I (56) boot: ## Label            Usage          Type ST Offset   Length
I (63) boot:  0 nvs              WiFi data        01 02 00009000 00005000
I (71) boot:  1 otadata          OTA data         01 00 0000e000 00002000
I (78) boot:  2 ota_0            OTA app          00 10 00010000 00150000
I (85) boot:  3 ota_1            OTA app          00 11 00160000 00150000
I (93) boot:  4 phy_init         RF data          01 01 002b0000 00001000
I (100) boot: End of partition table
I (105) boot: No factory image, trying OTA 0
I (110) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=2587ch (153724) map
I (174) esp_image: segment 1: paddr=000358a4 vaddr=3ffb0000 size=02a2ch ( 10796) load
I (178) esp_image: segment 2: paddr=000382d8 vaddr=40080000 size=07d40h ( 32064) load
I (193) esp_image: segment 3: paddr=00040020 vaddr=400d0020 size=5d564h (382308) map
I (331) esp_image: segment 4: paddr=0009d58c vaddr=40087d40 size=0e9dch ( 59868) load
I (367) boot: Loaded app from partition at offset 0x10000
I (399) boot: Set actual ota_seq=1 in otadata[0]
I (399) boot: Disabling RNG early entropy source...
I (410) quad_psram: This chip is ESP32-D0WD
I (412) esp_psram: Found 8MB PSRAM device
I (413) esp_psram: Speed: 40MHz
I (414) esp_psram: PSRAM initialized, cache is in low/high (2-core) mode.
W (422) esp_psram: Virtual address not enough for PSRAM, map as much as we can. 4MB is mapped
I (431) cpu_start: Pro cpu up.
I (435) cpu_start: Starting app cpu, entry point is 0x40081818
0x40081818: call_start_cpu1 at /home/toby/esp/esp-idf/components/esp_system/port/cpu_start.c:142

I (0) cpu_start: App cpu up.
I (1344) esp_psram: SPI SRAM memory test OK
I (1352) cpu_start: Pro cpu start user code
I (1352) cpu_start: cpu freq: 240000000 Hz
I (1352) cpu_start: Application information:
I (1356) cpu_start: Project name:     Hello_World
I (1361) cpu_start: App version:      4a78e5b-dirty
I (1367) cpu_start: Compile time:     Feb  7 2023 21:44:23
I (1373) cpu_start: ELF file SHA256:  6188d6bbbc6589fe...
I (1379) cpu_start: ESP-IDF:          v5.0-541-g885e501d99
I (1385) cpu_start: Min chip rev:     v0.0
I (1390) cpu_start: Max chip rev:     v3.99 
I (1395) cpu_start: Chip rev:         v1.0
I (1400) heap_init: Initializing. RAM available for dynamic allocation:
I (1407) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (1413) heap_init: At 3FFB6120 len 00029EE0 (167 KiB): DRAM
I (1419) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (1426) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1432) heap_init: At 4009671C len 000098E4 (38 KiB): IRAM
I (1439) esp_psram: Adding pool of 4096K of PSRAM memory to heap allocator
I (1447) spi_flash: detected chip: gd
I (1450) spi_flash: flash io: dio
W (1455) ADC: legacy driver is deprecated, please migrate to `esp_adc/adc_oneshot.h`
I (1546) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1548) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (1558) Main: Main task has started
I (2408) MCP23017: MCP at address 0x20 has been detected
I (2448) MCP23017: MCP at address 0x22 has been detected
I (2478) NVSMgr: Reading data size 76 from segment eeprom...
E (2488) NVSMgr: Segment length 64 is to small to contain requested data of length 76.
I (2488) EInk10: Wavefrom load failed! Upload new waveform in EEPROM. Using default waveform.
I (3468) Main: Display size: width: 1200, height: 825
I (6648) Main: Main task has ended

The device does not appear to display anything.

[feature] Add lightWaveform setting

I'm having similar trouble as in SolderedElectronics/Inkplate-Arduino-library#112 in the original library. Greyscale in 3bit mode isn't linear and tends to be very dark until the last shades of grey.

The Arduino library, in its prior version, had a lightWaveform as a parameter for Inkplate::begin, which was supposed to fix similar issues. Inkplate 10 seems to be manufactured with two different sets of panels each with their own greyscale palette. The parameter is still present in documentation, yet removed from the method itself (https://github.com/e-radionicacom/Inkplate-Arduino-library/blob/93394781b203303727c72e9e3d872dcb74a8a091/src/boards/Inkplate10.cpp#L31)

Would it be possible to bring the parameter back in this version of the library?

Example projects appear to be configured incorrectly for `idf.py build`

I'm building on Ubuntu Linux for my Inkplate 10.

cd examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update
idf.py build

Gives the following output:

Executing action: all (aliases: build)
Running cmake in directory /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=0 /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update"...
-- Found Git: /usr/bin/git (found version "2.25.1") 
CMake Warning at /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
  Git submodule components/openthread/openthread is out of date.  Run 'git
  submodule update --init --recursive' to fix.
Call Stack (most recent call first):
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/build.cmake:169 (__build_get_idf_git_revision)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/project.cmake:7 (include)
  CMakeLists.txt:2 (include)


-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig
/home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig:309 CONFIG_ESP32_PANIC_PRINT_REBOOT was replaced with CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT
/home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig:494 CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE was replaced with CONFIG_ESP_COREDUMP_ENABLE_TO_NONE
/home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig:964 CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS was replaced with CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS
/home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig:965 CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN was replaced with CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN
-- Found PythonInterp: /home/macoy/.espressif/python_env/idf4.4_py3.8_env/bin/python (found version "3.8.10") 
-- Found Perl: /usr/bin/perl (found version "5.30.0") 
-- App "Inkplate-basic_custom_font" version: 9365c7f-dirty
-- Adding linker script /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_system/ld/esp32/sections.ld.in
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor cmock coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap idf_test ieee802154 jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /home/macoy/Repositories/inkplate/esp-idf/components/app_trace /home/macoy/Repositories/inkplate/esp-idf/components/app_update /home/macoy/Repositories/inkplate/esp-idf/components/asio /home/macoy/Repositories/inkplate/esp-idf/components/bootloader /home/macoy/Repositories/inkplate/esp-idf/components/bootloader_support /home/macoy/Repositories/inkplate/esp-idf/components/bt /home/macoy/Repositories/inkplate/esp-idf/components/cbor /home/macoy/Repositories/inkplate/esp-idf/components/cmock /home/macoy/Repositories/inkplate/esp-idf/components/coap /home/macoy/Repositories/inkplate/esp-idf/components/console /home/macoy/Repositories/inkplate/esp-idf/components/cxx /home/macoy/Repositories/inkplate/esp-idf/components/driver /home/macoy/Repositories/inkplate/esp-idf/components/efuse /home/macoy/Repositories/inkplate/esp-idf/components/esp-tls /home/macoy/Repositories/inkplate/esp-idf/components/esp32 /home/macoy/Repositories/inkplate/esp-idf/components/esp_adc_cal /home/macoy/Repositories/inkplate/esp-idf/components/esp_common /home/macoy/Repositories/inkplate/esp-idf/components/esp_eth /home/macoy/Repositories/inkplate/esp-idf/components/esp_event /home/macoy/Repositories/inkplate/esp-idf/components/esp_gdbstub /home/macoy/Repositories/inkplate/esp-idf/components/esp_hid /home/macoy/Repositories/inkplate/esp-idf/components/esp_http_client /home/macoy/Repositories/inkplate/esp-idf/components/esp_http_server /home/macoy/Repositories/inkplate/esp-idf/components/esp_https_ota /home/macoy/Repositories/inkplate/esp-idf/components/esp_https_server /home/macoy/Repositories/inkplate/esp-idf/components/esp_hw_support /home/macoy/Repositories/inkplate/esp-idf/components/esp_ipc /home/macoy/Repositories/inkplate/esp-idf/components/esp_lcd /home/macoy/Repositories/inkplate/esp-idf/components/esp_local_ctrl /home/macoy/Repositories/inkplate/esp-idf/components/esp_netif /home/macoy/Repositories/inkplate/esp-idf/components/esp_phy /home/macoy/Repositories/inkplate/esp-idf/components/esp_pm /home/macoy/Repositories/inkplate/esp-idf/components/esp_ringbuf /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom /home/macoy/Repositories/inkplate/esp-idf/components/esp_serial_slave_link /home/macoy/Repositories/inkplate/esp-idf/components/esp_system /home/macoy/Repositories/inkplate/esp-idf/components/esp_timer /home/macoy/Repositories/inkplate/esp-idf/components/esp_websocket_client /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi /home/macoy/Repositories/inkplate/esp-idf/components/espcoredump /home/macoy/Repositories/inkplate/esp-idf/components/esptool_py /home/macoy/Repositories/inkplate/esp-idf/components/expat /home/macoy/Repositories/inkplate/esp-idf/components/fatfs /home/macoy/Repositories/inkplate/esp-idf/components/freemodbus /home/macoy/Repositories/inkplate/esp-idf/components/freertos /home/macoy/Repositories/inkplate/esp-idf/components/hal /home/macoy/Repositories/inkplate/esp-idf/components/heap /home/macoy/Repositories/inkplate/esp-idf/components/idf_test /home/macoy/Repositories/inkplate/esp-idf/components/ieee802154 /home/macoy/Repositories/inkplate/esp-idf/components/jsmn /home/macoy/Repositories/inkplate/esp-idf/components/json /home/macoy/Repositories/inkplate/esp-idf/components/libsodium /home/macoy/Repositories/inkplate/esp-idf/components/log /home/macoy/Repositories/inkplate/esp-idf/components/lwip /home/macoy/Repositories/inkplate/esp-idf/components/mbedtls /home/macoy/Repositories/inkplate/esp-idf/components/mdns /home/macoy/Repositories/inkplate/esp-idf/components/mqtt /home/macoy/Repositories/inkplate/esp-idf/components/newlib /home/macoy/Repositories/inkplate/esp-idf/components/nghttp /home/macoy/Repositories/inkplate/esp-idf/components/nvs_flash /home/macoy/Repositories/inkplate/esp-idf/components/openssl /home/macoy/Repositories/inkplate/esp-idf/components/openthread /home/macoy/Repositories/inkplate/esp-idf/components/partition_table /home/macoy/Repositories/inkplate/esp-idf/components/perfmon /home/macoy/Repositories/inkplate/esp-idf/components/protobuf-c /home/macoy/Repositories/inkplate/esp-idf/components/protocomm /home/macoy/Repositories/inkplate/esp-idf/components/pthread /home/macoy/Repositories/inkplate/esp-idf/components/sdmmc /home/macoy/Repositories/inkplate/esp-idf/components/soc /home/macoy/Repositories/inkplate/esp-idf/components/spi_flash /home/macoy/Repositories/inkplate/esp-idf/components/spiffs /home/macoy/Repositories/inkplate/esp-idf/components/tcp_transport /home/macoy/Repositories/inkplate/esp-idf/components/tcpip_adapter /home/macoy/Repositories/inkplate/esp-idf/components/tinyusb /home/macoy/Repositories/inkplate/esp-idf/components/ulp /home/macoy/Repositories/inkplate/esp-idf/components/unity /home/macoy/Repositories/inkplate/esp-idf/components/usb /home/macoy/Repositories/inkplate/esp-idf/components/vfs /home/macoy/Repositories/inkplate/esp-idf/components/wear_levelling /home/macoy/Repositories/inkplate/esp-idf/components/wifi_provisioning /home/macoy/Repositories/inkplate/esp-idf/components/wpa_supplicant /home/macoy/Repositories/inkplate/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build
Running ninja in directory /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build
Executing "ninja all"...
[9/990] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[282/990] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.25.1") 
CMake Warning at /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/git_submodules.cmake:52 (message):
  Git submodule components/openthread/openthread is out of date.  Run 'git
  submodule update --init --recursive' to fix.
Call Stack (most recent call first):
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/build.cmake:77 (git_submodule_check)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/build.cmake:169 (__build_get_idf_git_revision)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/idf.cmake:50 (__build_init)
  /home/macoy/Repositories/inkplate/esp-idf/tools/cmake/project.cmake:7 (include)
  CMakeLists.txt:52 (include)


-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/sdkconfig
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /home/macoy/Repositories/inkplate/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: /home/macoy/Repositories/inkplate/esp-idf/components/bootloader /home/macoy/Repositories/inkplate/esp-idf/components/bootloader_support /home/macoy/Repositories/inkplate/esp-idf/components/efuse /home/macoy/Repositories/inkplate/esp-idf/components/esp32 /home/macoy/Repositories/inkplate/esp-idf/components/esp_common /home/macoy/Repositories/inkplate/esp-idf/components/esp_hw_support /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom /home/macoy/Repositories/inkplate/esp-idf/components/esp_system /home/macoy/Repositories/inkplate/esp-idf/components/esptool_py /home/macoy/Repositories/inkplate/esp-idf/components/freertos /home/macoy/Repositories/inkplate/esp-idf/components/hal /home/macoy/Repositories/inkplate/esp-idf/components/log /home/macoy/Repositories/inkplate/esp-idf/components/bootloader/subproject/main /home/macoy/Repositories/inkplate/esp-idf/components/bootloader/subproject/components/micro-ecc /home/macoy/Repositories/inkplate/esp-idf/components/newlib /home/macoy/Repositories/inkplate/esp-idf/components/partition_table /home/macoy/Repositories/inkplate/esp-idf/components/soc /home/macoy/Repositories/inkplate/esp-idf/components/spi_flash /home/macoy/Repositories/inkplate/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/bootloader
[369/990] Performing build step for 'bootloader'
[1/94] Generating project_elf_src_esp32.c
[2/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/soc_include_legacy_warn.c.obj
[3/94] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[4/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[5/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[6/94] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[7/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[8/94] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[9/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[10/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[11/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[12/94] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cpu_hal.c.obj
[13/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[14/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[15/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[16/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj
[17/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[18/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[19/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[20/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[21/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sigmadelta_periph.c.obj
[22/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[23/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[24/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[25/94] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[26/94] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[27/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[28/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[29/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[30/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[31/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[32/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[33/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[34/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[35/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[36/94] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/esp32/spi_flash_rom_patch.c.obj
[37/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[38/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse_esp32.c.obj
[39/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[40/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[41/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[42/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[43/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config_esp32.c.obj
[44/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[45/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[46/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[47/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[48/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj
[49/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[50/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[51/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj
[52/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[53/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[54/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/compare_set.c.obj
[55/94] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[56/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu_util.c.obj
[57/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api_key_esp32.c.obj
[58/94] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[59/94] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[60/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[61/94] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[62/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[63/94] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[64/94] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[65/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[66/94] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[67/94] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[68/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[69/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj
[70/94] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[71/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_wdt.c.obj
[72/94] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[73/94] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[74/94] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[75/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[76/94] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[77/94] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[78/94] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[79/94] Linking C static library esp-idf/log/liblog.a
[80/94] Linking C static library esp-idf/esp_rom/libesp_rom.a
[81/94] Linking C static library esp-idf/esp_common/libesp_common.a
[82/94] Linking C static library esp-idf/xtensa/libxtensa.a
[83/94] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[84/94] Linking C static library esp-idf/esp_system/libesp_system.a
[85/94] Linking C static library esp-idf/efuse/libefuse.a
[86/94] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[87/94] Linking C static library esp-idf/spi_flash/libspi_flash.a
[88/94] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[89/94] Linking C static library esp-idf/soc/libsoc.a
[90/94] Linking C static library esp-idf/hal/libhal.a
[91/94] Linking C static library esp-idf/main/libmain.a
[92/94] Linking C executable bootloader.elf
[93/94] Generating binary image from built executable
esptool.py v3.2-dev
Merged 1 ELF section
Generated /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/bootloader/bootloader.bin
[94/94] cd /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/bootloader/esp-idf/esptool_py && /home/macoy/.espressif/python_env/idf4.4_py3.8_env/bin/python /home/macoy/Repositories/inkplate/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/bootloader/bootloader.bin
Bootloader binary size 0x5ff0 bytes. 0x1010 bytes (17%) free.
[988/990] Linking CXX executable Inkplate-basic_custom_font.elf
FAILED: Inkplate-basic_custom_font.elf 
: && /home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++  -mlongcalls -Wno-frame-address   CMakeFiles/Inkplate-basic_custom_font.elf.dir/project_elf_src_esp32.c.obj  -o Inkplate-basic_custom_font.elf  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/asio/libasio.a  esp-idf/cbor/libcbor.a  esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/coap/libcoap.a  esp-idf/console/libconsole.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a  esp-idf/mdns/libmdns.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/esp_websocket_client/libesp_websocket_client.a  esp-idf/expat/libexpat.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/fatfs/libfatfs.a  esp-idf/freemodbus/libfreemodbus.a  esp-idf/jsmn/libjsmn.a  esp-idf/json/libjson.a  esp-idf/libsodium/liblibsodium.a  esp-idf/mqtt/libmqtt.a  esp-idf/openssl/libopenssl.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/ulp/libulp.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  -Wl,--cref -Wl,--Map=/home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/Inkplate-basic_custom_font.map  -Wl,--gc-sections  -fno-rtti  -fno-lto  esp-idf/unity/libunity.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/protocomm/libprotocomm.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/mdns/libmdns.a  esp-idf/console/libconsole.a  esp-idf/json/libjson.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  -Wl,--wrap=mbedtls_mpi_exp_mod  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -L /home/macoy/Repositories/inkplate/esp-idf/components/esp_phy/lib/esp32  -lphy  esp-idf/esp_phy/libesp_phy.a  -lphy  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  -u ld_include_highint_hdl  -u start_app  -u start_app_other_cores  -L /home/macoy/Repositories/inkplate/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate-basic_partial_update/build/esp-idf/esp_system/ld  -T memory.ld  -T sections.ld  -u __ubsan_include  -L /home/macoy/Repositories/inkplate/esp-idf/components/esp_rom/esp32/ld  -T esp32.rom.ld  -T esp32.rom.api.ld  -T esp32.rom.libgcc.ld  -T esp32.rom.newlib-data.ld  -T esp32.rom.syscalls.ld  -Wl,--wrap=longjmp  -u __assert_func  -u vfs_include_syscalls_impl  -L /home/macoy/Repositories/inkplate/esp-idf/components/esp_wifi/lib/esp32  -L /home/macoy/Repositories/inkplate/esp-idf/components/soc/esp32/ld  -T esp32.peripherals.ld  -mfix-esp32-psram-cache-issue  -mfix-esp32-psram-cache-strategy=memw  /home/macoy/Repositories/inkplate/esp-idf/components/xtensa/esp32/libxt_hal.a  -Wl,--undefined=uxTopUsedPriority  -u app_main  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  esp-idf/app_trace/libapp_trace.a  -lgcov  esp-idf/app_trace/libapp_trace.a  -lgcov  -lc && :
/home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(port_common.c.obj):(.literal.main_task+0x1c): undefined reference to `app_main'
/home/macoy/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(port_common.c.obj): in function `main_task':
/home/macoy/Repositories/inkplate/esp-idf/components/freertos/port/port_common.c:130: undefined reference to `app_main'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

I followed instructions here before running that command.

Upon reading the CMakeLists.txt, there don't look to be any statements that add the ESP-IDF-InkPlate/include. Additionally, the project isn't set up how esp-idf expects. For example, see hello_world, which has a main directory instead of a src directory.

I was able to successfully build and flash that hello_world project.

Is there something I'm missing when trying to build inkplate projects?

ESP-IDF build fails for all examples. No code changes.

dmitrygr@vwm:/mnt/hgfs/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW$ idf.py build
Executing action: all (aliases: build)
Running ninja in directory /media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build
Executing "ninja all"...
[1/1] cd /media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/bu...s/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build/bootloader/bootloader.bin
Bootloader binary size 0x68d0 bytes. 0x730 bytes (6%) free.
[18/20] Linking CXX executable Inkplate_basic_BW.elf
FAILED: Inkplate_basic_BW.elf 
: && /home/dmitrygr/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++  -mlongcalls -Wno-frame-address  -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32=0 -Wl,--Map=/media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build/Inkplate_basic_BW.map -Wl,--no-warn-rwx-segments -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.api.ld -T esp32.rom.libgcc.ld -T esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T memory.ld -T sections.ld CMakeFiles/Inkplate_basic_BW.elf.dir/project_elf_src_esp32.c.obj  -o Inkplate_basic_BW.elf -L/home/dmitrygr/esp/esp-idf/components/soc/esp32/ld   -L/home/dmitrygr/esp/esp-idf/components/esp_rom/esp32/ld   -L/media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build/esp-idf/esp_system/ld   -L/home/dmitrygr/esp/esp-idf/components/esp_phy/lib/esp32   -L/home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32 esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/app_trace/libapp_trace.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/console/libconsole.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/fatfs/libfatfs.a  esp-idf/json/libjson.a  esp-idf/mqtt/libmqtt.a  esp-idf/nvs_sec_provider/libnvs_sec_provider.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/app_trace/libapp_trace.a  esp-idf/unity/libunity.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  -u nvs_sec_provider_include_impl  esp-idf/protocomm/libprotocomm.a  esp-idf/console/libconsole.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/json/libjson.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc/libesp_adc.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_psram/libesp_psram.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /home/dmitrygr/esp/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  /home/dmitrygr/esp/esp-idf/components/xtensa/esp32/libxt_hal.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -u pthread_include_pthread_rwlock_impl  -u pthread_include_pthread_semaphore_impl  -u ld_include_highint_hdl  -u start_app  -u start_app_other_cores  -u __ubsan_include  -Wl,--wrap=longjmp  -u __assert_func  -u esp_dport_access_reg_read  -Wl,--undefined=FreeRTOS_openocd_params  -u app_main  -lc  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  -u include_esp_phy_override  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  -u vfs_include_syscalls_impl  -mfix-esp32-psram-cache-issue  -mfix-esp32-psram-cache-strategy=memw && :
/home/dmitrygr/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj):(.literal.main_task+0x28): undefined reference to `app_main'
/home/dmitrygr/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj): in function `main_task':
/home/dmitrygr/esp/esp-idf/components/freertos/app_startup.c:208: undefined reference to `app_main'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build/log/idf_py_stderr_output_3732384 and /media/psf/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW/build/log/idf_py_stdout_output_3732384
dmitrygr@vwm:/mnt/hgfs/D/projects/ESP32/ESP-IDF-InkPlate/examples/Basic_Inkplate_Functionality/Inkplate_basic_BW$ 


I did try the idf-v5.0-support branch, which fails in precisely the same way.

Inkplate_net_test does not work correctly on ESP-IDF v4.4.1

After some minimal modifications to make the program run on idf (the building process, not source files themselves), the program fails at runtime on an incorrect esp_tls config.

The issue seems to come from IDF v4.3, when IDF enabled certificate verification by default. (zonmen/IndoorSolution-esp32#1)

To mitigate this, I see two options:

  1. disable TLS verification completely through sdkconfig
  2. use a certificate bundle

For n. 2 I don't know how to implement the certificate bundling yet.

Log with the error message

I (24243) NetworkClient: STA Event, Base: 3f40fac4, Event: 4.
I (24313) wifi:AP's beacon interval = 102400 us, DTIM period = 2
I (24953) esp_netif_handlers: sta ip: REDACTED, mask: 255.255.255.0, gw: REDACTED
I (24953) NetworkClient: STA Event, Base: 3f40ed74, Event: 0.
I (24953) NetworkClient: got ip:REDACTED
I (24963) NetworkClient: connected to ap SSID: REDACTED password: REDACTED
I (24983) NetworkClient: Downloading file from URL: https://api.varipass.org/?action=sgraph&id=kbg3eQfA&width=400&height=300&eink=true
W (25013) wifi:<ba-add>idx:0 (ifx:0, REDACTED), tid:0, ssn:1, winSize:64
E (25313) esp-tls-mbedtls: No server verification option set in esp_tls_cfg_t structure. Check esp_tls API reference
E (25313) esp-tls-mbedtls: Failed to set client configurations, returned [0x8017] (ESP_ERR_MBEDTLS_SSL_SETUP_FAILED)
E (25323) esp-tls: create_ssl_handle failed
E (25323) esp-tls: Failed to open new connection
E (25333) TRANSPORT_BASE: Failed to open a new connection
E (25353) HTTP_CLIENT: Connection failed, sock < 0
I (25353) NetworkClient: HTTP_EVENT_ERROR
I (25353) NetworkClient: HTTP_EVENT_DISCONNECTED
I (25353) Main: Completed...

[Bug] 1bit mode not working properly

When Inkplate is set to 1bit mode, no output is displayed during display refresh. This started happening since branch v0.9.8.

I was able to reproduce it with esp-idf v4.4 and Native_IDF/Hello_World example.
On branch v0.9.7 the example works correctly.
On branch v0.9.8 and idf-v5.0-support (using esp-idf v5.0) Inkplate flashes black and then presents an empty screen. No text is displayed and apart the warning about waveform not being loaded, there are no errors in the monitor.

I haven't noticed this issue before, because I've been so far using only 3bit color mode. Suprised noone has reported it yet.

touchscreen points returned by tsGetData not scaled properly

The touchscreen points need to be scaled by x/y_resolution somewhere, afaict.

If not, the output is garbage.

This does the trick for me (I'm running with rotation=3):

diff --git a/include/graphical/inkplate.hpp b/include/graphical/inkplate.hpp
index 770d3cc..7f8f5a3 100644
--- a/include/graphical/inkplate.hpp
+++ b/include/graphical/inkplate.hpp
@@ -87,6 +87,11 @@ class Inkplate : public Graphics
       inline bool    tsAvailable() { return touch_screen.is_screen_touched(); }      
       inline uint8_t tsGetData(TouchScreen::TouchPositions & xPos, TouchScreen::TouchPositions & yPos) { 
         uint8_t count = touch_screen.get_position(xPos, yPos);
+                               for(int i=0; i<count; i++)
+                               {
+                                       xPos[i] = xPos[i] * e_ink.get_height() / touch_screen.get_x_resolution();
+                                       yPos[i] = yPos[i] * e_ink.get_width() / touch_screen.get_y_resolution();
+                               }
         rotateFromPhy(xPos, yPos, count);
         return count; 
       }

ESP-IDF v5.0

Due to some bugs that I've found in the esp_websocket_client, I've tried to update to esp-idf v5.0-beta1. Espressif migrated by default to C++20 and deprecated some components.

I have fixed all the issues causing the build process to fail and fixed most of the warnings as well as I could. In the current state the library is buildable with idf v5. I'll be doing further testing in my project and over the weekend I'll try to build the library back with idf v4.4.

The changes are currently in my idf-v5,0-support branch. Could you please create a branch to which I could create a pull request?

Add ESP-IDF v5 to README

With v5.0 being the current stable version of the ESP-IDF, following the current install instructions here yields an incompatible set up (v5 of esp-idf and master of this repo).

Thoughts about either adding a section to the readme around how to get started with v5, releasing a new version that is compatible with v5, or otherwise adding some kind of version compatibility matrix that nudges a reader towards the idf-v5.0-support branch?

This was touched on in #13, which is where I found out that this repo supports v5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.