lovyan03 / LovyanGFX

SPI LCD graphics library for ESP32 (ESP-IDF/ArduinoESP32) / ESP8266 (ArduinoESP8266) / SAMD51(Seeed ArduinoSAMD51)
Other
1.02k stars 187 forks source link

Failing to build after updating platformio #558

Closed metehus closed 2 weeks ago

metehus commented 2 weeks ago

Carefully written Issues are more likely to be given priority. 丁寧に記述された報告は優先して対応される可能性が高くなります。

Environment ( 実行環境 )

Problem Description ( 問題の内容 )

I am not able to build a simple sketch using LovyanGFX after updating the platformio tools

Expected Behavior ( 期待される動作 )

The project to build

Actual Behavior ( 実際の動作 )

The project fails to build with this message:

Click to show log output

``` PLATFORM: Espressif 32 (6.6.0) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM) HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, 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.50201.0 (5.2.1) - tool-cmake @ 3.16.4 - tool-esptoolpy @ 1.40501.0 (4.5.1) - tool-idf @ 1.0.1 - tool-mconf @ 1.4060000.20190628 (406.0.0) - tool-ninja @ 1.9.0 - tool-riscv32-esp-elf-gdb @ 11.2.0+20220823 - tool-xtensa-esp-elf-gdb @ 11.2.0+20230208 - toolchain-esp32ulp @ 1.23500.220830 (2.35.0) - toolchain-riscv32-esp @ 13.2.0+20230928 - toolchain-xtensa-esp32s3 @ 12.2.0+20230208 Reading CMake configuration... Generating assembly for certificate bundle... Warning! Flash memory size mismatch detected. Expected 8MB, found 2MB! Please select a proper value in your `sdkconfig.defaults` or via the `menuconfig` target! LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 1 compatible libraries Scanning dependencies... Dependency Graph |-- LovyanGFX @ 1.1.12 Building in release mode Compiling .pio\build\esp32-s3-devkitc-1\src\main.o [ hided for better clarity ] Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\rp2040\Light_PWM.o .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/Bus_SPI.cpp:26: warning: "REG_SPI_BASE" redefined 26 | #define REG_SPI_BASE(i) (DR_REG_SPI1_BASE + (((i)>1) ? (((i)* 0x1000) + 0x20000) : (((~(i)) & 1)* 0x1000 ))) | In file included from C:/Users/methi/.platformio/packages/framework-espidf/components/esp_hw_support/include/esp_memory_utils.h:12, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:54, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/include/freertos/portable.h:57, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:69, from C:/Users/methi/.platformio/packages/framework-espidf/components/driver/include/esp_private/spi_common_internal.h:13, from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/Bus_SPI.hpp:36, from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/Bus_SPI.cpp:21: C:/Users/methi/.platformio/packages/framework-espidf/components/soc/esp32s3/include/soc/soc.h:37: note: this is the location of the previous definition 37 | #define REG_SPI_BASE(i) (((i)>=2) ? (DR_REG_SPI2_BASE + (i-2) * 0x1000) : (0)) // GPSPI2 and GPSPI3 | Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\rp2040\common.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd21\Bus_I2C.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd21\Bus_SPI.o In file included from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:41: C:/Users/methi/.platformio/packages/framework-espidf/components/soc/esp32s3/include/soc/apb_ctrl_reg.h:9:2: warning: #warning "apb_ctrl_reg is deprecated due to duplicated with syscon_reg, please use syscon_reg instead, they are same" [-Wcpp] 9 | #warning "apb_ctrl_reg is deprecated due to duplicated with syscon_reg, please use syscon_reg instead, they are same" | ^~~~~~~ Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd21\common.o .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:114: warning: "SOC_GDMA_PAIRS_PER_GROUP_MAX" redefined 114 | #define SOC_GDMA_PAIRS_PER_GROUP_MAX SOC_GDMA_PAIRS_PER_GROUP | In file included from C:/Users/methi/.platformio/packages/framework-espidf/components/esp_hw_support/include/esp_cpu.h:13, from C:/Users/methi/.platformio/packages/framework-espidf/components/esp_hw_support/include/spinlock.h:11, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:49, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/include/freertos/portable.h:57, from C:/Users/methi/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:69, from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.hpp:26, from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:21: C:/Users/methi/.platformio/packages/framework-espidf/components/soc/esp32s3/include/soc/soc_caps.h:160: note: this is the location of the previous definition 160 | #define SOC_GDMA_PAIRS_PER_GROUP_MAX 5 // when there're multiple GDMA instances, this macro represents the maximum number of GDMA pairs in the same group. | Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd51\Bus_I2C.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd51\Bus_SPI.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\samd51\common.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\sdl\Panel_sdl.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\sdl\common.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\spresense\Bus_SPI.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\spresense\common.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\stm32\Bus_SPI.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\stm32\common.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\touch\Touch_CST816S.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\touch\Touch_FT5x06.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\touch\Touch_GSLx680.o Compiling .pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\touch\Touch_GT911.o .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp: In function 'cpp::bitwizeshift::result lgfx::v1::spi::init(int, int, int, int, int)': .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:493:29: error: 'INTR_CPU_ID_AUTO' was not declared in this scope 493 | buscfg.isr_cpu_id = INTR_CPU_ID_AUTO; | ^~~~~~~~~~~~~~~~ .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp: In function 'void lgfx::v1::i2c::i2c_set_cmd(i2c_dev_t*, uint8_t, uint8_t, uint8_t, bool)': .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:837:14: error: 'struct i2c_dev_t' has no member named 'comd0'; did you mean 'comd'? 837 | (&dev->comd0)[index].val = cmd_val; | ^~~~~ | comd In file included from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_RGB.cpp:29: C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_rx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)': C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h:116:46: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 116 | dev->channel[channel].in.int_ena.val |= mask; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h:118:46: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 118 | dev->channel[channel].in.int_ena.val &= ~mask; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_tx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)': C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h:380:47: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 380 | dev->channel[channel].out.int_ena.val |= mask; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/gdma_ll.h:382:47: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 382 | dev->channel[channel].out.int_ena.val &= ~mask; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ In file included from .pio/libdeps/esp32-s3-devkitc-1/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_RGB.cpp:32: C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/lcd_ll.h: In function 'void lcd_ll_enable_interrupt(lcd_cam_dev_t*, uint32_t, bool)': C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/lcd_ll.h:560:33: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 560 | dev->lc_dma_int_ena.val |= mask & 0x03; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ C:/Users/methi/.platformio/packages/framework-espidf/components/hal/esp32s3/include/hal/lcd_ll.h:562:33: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile] 562 | dev->lc_dma_int_ena.val &= ~(mask & 0x03); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ *** [.pio\build\esp32-s3-devkitc-1\lib08e\LovyanGFX\lgfx\v1\platforms\esp32\common.o] Error 1 ```

Steps to reproduce ( 再現のための前提条件 )

  1. Install the PlatformIO core, or update it via pio upgrade
  2. Create a new project and select ESP32-S3-DevkitC with espidf framework
  3. Try to build the project (pio run). Should work (I had to rename the void main function to void app_main to make it work first)
  4. Add the LovyanGFX library (pio lib install LovyanGFX)
  5. Try to build again. Should give an error and fail

Code to reproduce this issue ( 再現させるためのコード )

Please submit complete source code that can reproduce your problem. あなたの問題を再現できる完全なソースコードを提示してください。

I haven't done anything on the main file:

extern "C" void app_main() {

}

My platformio.ini file:

[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = espidf
lib_deps = lovyan03/LovyanGFX@^1.1.12
metehus commented 2 weeks ago

nvm just looked at #438 and tried the develop branch and now it works! Is there a date of when this version will be released on the platformio library?

tobozo commented 2 weeks ago

hi,

the partnership between Espressif and M5Stack is going to influence how the maintenance is balanced between LovyanGFX and M5Unified, so there's no forecast yet for the next release but there will be an announcement; until then your best option is to use the develop branch in your platformio.ini file

closing this as fixed; feel free to reopen for any platformio related issue