cbm80amiga / Arduino_ST7789_STM

Fast STM32 SPI-DMA library for ST7789 240x240 IPS display
GNU Lesser General Public License v3.0
20 stars 11 forks source link

Error compiling - which version of Adafruit_GFX to avoid errors? #3

Open seanspotatobusiness opened 3 years ago

seanspotatobusiness commented 3 years ago

Which version of Adafruit_GFX library works? Thanks.

With the latest version (Adafruit_GFX.h 1.10.6) I get error:

In file included from C:\Users\seanv\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp:20:0:
C:\Users\seanv\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.h:30:32: fatal error: Adafruit_I2CDevice.h: No such file or directory
 #include <Adafruit_I2CDevice.h>
                                ^
compilation terminated.
Error compiling.

With version 1.7.0 I get errors:

C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp: In member function 'void Arduino_ST7789::writeSPI(uint8_t)':
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:126:5: error: 'SPDR' was not declared in this scope
     SPDR = c;
     ^
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp: In member function 'void Arduino_ST7789::writeMulti(uint16_t, uint16_t)':
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:176:32: error: 'SPDR' was not declared in this scope
     : [spdr] "I" (_SFR_IO_ADDR(SPDR)), [lo] "r" ((uint8_t)color), [hi] "r" ((uint8_t)(color>>8))
                                ^
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:176:36: error: '_SFR_IO_ADDR' was not declared in this scope
     : [spdr] "I" (_SFR_IO_ADDR(SPDR)), [lo] "r" ((uint8_t)color), [hi] "r" ((uint8_t)(color>>8))
                                    ^
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp: In member function 'void Arduino_ST7789::copyMulti(uint8_t*, uint16_t)':
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:212:32: error: 'SPDR' was not declared in this scope
     : [spdr] "I" (_SFR_IO_ADDR(SPDR)), [img] "e" (img), [lo] "r" (lo), [hi] "r" (hi)
                                ^
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:212:36: error: '_SFR_IO_ADDR' was not declared in this scope
     : [spdr] "I" (_SFR_IO_ADDR(SPDR)), [img] "e" (img), [lo] "r" (lo), [hi] "r" (hi)
                                    ^
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp: In member function 'void Arduino_ST7789::commonST7789Init(const uint8_t*)':
C:\Users\seanv\Documents\Arduino\libraries\Arduino_ST7789_Fast-master\Arduino_ST7789_Fast.cpp:314:10: error: cannot convert 'volatile uint32* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
   dcPort = portOutputRegister(digitalPinToPort(dcPin));
          ^
Error compiling.

I'm using Arduino IDE 1.6.5 with Roger Clarke's Arduino_STM32 installed and Windows 10.

shin-tinh-nghich commented 10 months ago

image