Skip to content

Compilation error with 2.5.1 release #348

Closed
@luc-github

Description

@luc-github

First - thank you for your great library
with latest esp8266 core GIT compilation failed with sample like UTFT_demo.ino, no issue on ESP32.
It seems due to this recent commit :
esp8266/Arduino@885276e
It is out of my knowledge to know why they did this but may be the library need some update to handle this.

Compiling library "TFT_eSPI"
"C:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/include" "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lwip2/include" "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\user\\AppData\\Local\\Temp\\arduino_build_134255/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DNONOSDK221=1 -DF_CPU=160000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10809 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\cores\\esp8266" "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\variants\\generic" "-IC:\\Users\\user\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\SPI" "-IC:\\Users\\user\\Documents\\Arduino\\libraries\\TFT_eSPI" "C:\\Users\\user\\Documents\\Arduino\\libraries\\TFT_eSPI\\TFT_eSPI.cpp" -o "C:\\Users\\user\\AppData\\Local\\Temp\\arduino_build_134255\\libraries\\TFT_eSPI\\TFT_eSPI.cpp.o"
In file included from C:\Users\user\Documents\Arduino\hardware\esp8266com\esp8266\cores\esp8266/pgmspace.h:7:0,

                 from C:\Users\user\Documents\Arduino\libraries\TFT_eSPI/Fonts/glcdfont.c:6,

                 from C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.h:62,

                 from C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:17:

C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp: In member function 'virtual int16_t TFT_eSPI::drawChar(uint16_t, int32_t, int32_t, uint8_t)':

C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:4273:84: error: invalid conversion from 'uint32_t {aka unsigned int}' to 'const void*' [-fpermissive]

       flash_address = pgm_read_dword( pgm_read_dword( &(fontdata[font].chartbl ) ) + uniCode*sizeof(void *) );

                                                                                    ^

C:\Users\user\Documents\Arduino\hardware\esp8266com\esp8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:114:57: note: in definition of macro 'pgm_read_dword'

     #define pgm_read_dword(a)  pgm_read_dword_unaligned(a)

                                                         ^

C:\Users\user\Documents\Arduino\hardware\esp8266com\esp8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:85:72: error:   initializing argument 1 of 'uint32_t pgm_read_dword_unaligned(const void*)' [-fpermissive]

 __attribute__((optimize("-O3"), always_inline)) static inline uint32_t pgm_read_dword_unaligned(const void *addr) {

                                                                        ^

C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\Extensions/Sprite.cpp: In member function 'virtual int16_t TFT_eSprite::drawChar(uint16_t, int32_t, int32_t, uint8_t)':

C:\Users\user\Documents\Arduino\libraries\TFT_eSPI\Extensions/Sprite.cpp:1682:84: error: invalid conversion from 'uint32_t {aka unsigned int}' to 'const void*' [-fpermissive]

       flash_address = pgm_read_dword( pgm_read_dword( &(fontdata[font].chartbl ) ) + uniCode*sizeof(void *) );

                                                                                    ^

C:\Users\user\Documents\Arduino\hardware\esp8266com\esp8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:114:57: note: in definition of macro 'pgm_read_dword'

     #define pgm_read_dword(a)  pgm_read_dword_unaligned(a)

                                                         ^

C:\Users\user\Documents\Arduino\hardware\esp8266com\esp8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:85:72: error:   initializing argument 1 of 'uint32_t pgm_read_dword_unaligned(const void*)' [-fpermissive]

 __attribute__((optimize("-O3"), always_inline)) static inline uint32_t pgm_read_dword_unaligned(const void *addr) {

                                                                        ^

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions