Why does a Variable give a error when a different Core is used

Hi Everyone.

In the Adafruit_SH110X Library I use the example SH1106_128x64_i2c_QTPY and the does compile for a Nano and the Oled does work.

Now , when I change the Prosessor bord to Digispark there is a lot of error messages.

I do have the Digispark Core installed and used it with other programs.

Arduino: 1.8.19 (Windows 10), Board: "Digispark (Default - 16.5mhz)"





















In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In member function 'void SPISettings::init_AlwaysInline(uint32_t, uint8_t, uint8_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:146:16: error: 'SPE' was not declared in this scope

     spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

                ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:146:27: error: 'MSTR' was not declared in this scope

     spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

                           ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:146:65: error: 'DORD' was not declared in this scope

     spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

                                                                 ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::beginTransaction(SPISettings)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:203:5: error: 'SPCR' was not declared in this scope

     SPCR = settings.spcr;

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:204:5: error: 'SPSR' was not declared in this scope

     SPSR = settings.spsr;

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static uint8_t SPIClass::transfer(uint8_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:209:5: error: 'SPDR' was not declared in this scope

     SPDR = data;

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:217:14: error: 'SPSR' was not declared in this scope

     while (!(SPSR & _BV(SPIF))) ; // wait

              ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:217:25: error: 'SPIF' was not declared in this scope

     while (!(SPSR & _BV(SPIF))) ; // wait

                         ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static uint16_t SPIClass::transfer16(uint16_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:223:11: error: 'SPCR' was not declared in this scope

     if (!(SPCR & _BV(DORD))) {

           ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:223:22: error: 'DORD' was not declared in this scope

     if (!(SPCR & _BV(DORD))) {

                      ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:224:7: error: 'SPDR' was not declared in this scope

       SPDR = in.msb;

       ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:226:16: error: 'SPSR' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:226:27: error: 'SPIF' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:230:16: error: 'SPSR' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:230:27: error: 'SPIF' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:233:7: error: 'SPDR' was not declared in this scope

       SPDR = in.lsb;

       ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:235:16: error: 'SPSR' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:235:27: error: 'SPIF' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:239:16: error: 'SPSR' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:239:27: error: 'SPIF' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::transfer(void*, size_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:247:5: error: 'SPDR' was not declared in this scope

     SPDR = *p;

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:250:16: error: 'SPSR' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:250:27: error: 'SPIF' was not declared in this scope

       while (!(SPSR & _BV(SPIF))) ;

                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:255:14: error: 'SPSR' was not declared in this scope

     while (!(SPSR & _BV(SPIF))) ;

              ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:255:25: error: 'SPIF' was not declared in this scope

     while (!(SPSR & _BV(SPIF))) ;

                         ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setBitOrder(uint8_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:292:31: error: 'SPCR' was not declared in this scope

     if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                               ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:292:43: error: 'DORD' was not declared in this scope

     if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                                           ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:293:10: error: 'SPCR' was not declared in this scope

     else SPCR &= ~(_BV(DORD));

          ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:293:24: error: 'DORD' was not declared in this scope

     else SPCR &= ~(_BV(DORD));

                        ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setDataMode(uint8_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:298:5: error: 'SPCR' was not declared in this scope

     SPCR = (SPCR & ~SPI_MODE_MASK) | dataMode;

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setClockDivider(uint8_t)':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:303:5: error: 'SPCR' was not declared in this scope

     SPCR = (SPCR & ~SPI_CLOCK_MASK) | (clockDiv & SPI_CLOCK_MASK);

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:304:5: error: 'SPSR' was not declared in this scope

     SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((clockDiv >> 2) & SPI_2XCLOCK_MASK);

     ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::attachInterrupt()':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:309:42: error: 'SPCR' was not declared in this scope

   inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                          ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:309:54: error: 'SPIE' was not declared in this scope

   inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                                      ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:20:0:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h: In static member function 'static void SPIClass::detachInterrupt()':

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:310:42: error: 'SPCR' was not declared in this scope

   inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

                                          ^

In file included from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                 from c:\users\mikee\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\interrupt.h:38,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:8,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\SPI/SPI.h:310:55: error: 'SPIE' was not declared in this scope

   inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

                                                       ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.h:12:0,

                 from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:22:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h: At global scope:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h:10:36: error: 'TwoWire' has not been declared

   Adafruit_I2CDevice(uint8_t addr, TwoWire *theWire = &Wire);

                                    ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h:30:3: error: 'TwoWire' does not name a type

   TwoWire *_wire;

   ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h:10:56: error: could not convert '& Wire' from 'USI_TWI*' to 'int*'

   Adafruit_I2CDevice(uint8_t addr, TwoWire *theWire = &Wire);

                                                        ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h:18:45: error: 'nullptr' was not declared in this scope

              const uint8_t *prefix_buffer = nullptr, size_t prefix_len = 0);

                                             ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.h:13:0,

                 from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:22:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_SPIDevice.h:104:45: error: 'nullptr' was not declared in this scope

              const uint8_t *prefix_buffer = nullptr, size_t prefix_len = 0);

                                             ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_SPIDevice.h:119:20: error: 'nullptr' was not declared in this scope

   SPIClass *_spi = nullptr;

                    ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_SPIDevice.h:120:30: error: 'nullptr' was not declared in this scope

   SPISettings *_spiSetting = nullptr;

                              ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:22:0:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.h:116:28: error: '__FlashStringHelper' does not name a type

   void getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y,

                            ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.h:116:49: error: ISO C++ forbids declaration of 's' with no type [-fpermissive]

   void getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y,

                                                 ^

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:23:0:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:73:50: error: expected class-name before '{' token

 class Adafruit_SH110X : public Adafruit_GrayOLED {

                                                  ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:76:43: error: 'TwoWire' has not been declared

   Adafruit_SH110X(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:76:59: error: could not convert '& Wire' from 'USI_TWI*' to 'int*'

   Adafruit_SH110X(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                                           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:102:44: error: 'TwoWire' has not been declared

   Adafruit_SH1106G(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                            ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:102:60: error: could not convert '& Wire' from 'USI_TWI*' to 'int*'

   Adafruit_SH1106G(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                                            ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:121:43: error: 'TwoWire' has not been declared

   Adafruit_SH1107(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:121:59: error: could not convert '& Wire' from 'USI_TWI*' to 'int*'

   Adafruit_SH1107(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

                                                           ^

SH1106_128x64_i2c_QTPY:32:91: error: no matching function for call to 'Adafruit_SH1106G::Adafruit_SH1106G(int, int, USI_TWI*, int)'

 Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

                                                                                           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:32:91: note: candidates are:

In file included from C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino:23:0:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:107:3: note: Adafruit_SH1106G::Adafruit_SH1106G(uint16_t, uint16_t, SPIClass*, int8_t, int8_t, int8_t, uint32_t)

   Adafruit_SH1106G(uint16_t w, uint16_t h, SPIClass *spi, int8_t dc_pin,

   ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:107:3: note:   candidate expects 7 arguments, 4 provided

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:105:3: note: Adafruit_SH1106G::Adafruit_SH1106G(uint16_t, uint16_t, int8_t, int8_t, int8_t, int8_t, int8_t)

   Adafruit_SH1106G(uint16_t w, uint16_t h, int8_t mosi_pin, int8_t sclk_pin,

   ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:105:3: note:   candidate expects 7 arguments, 4 provided

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:102:3: note: Adafruit_SH1106G::Adafruit_SH1106G(uint16_t, uint16_t, int*, int8_t, uint32_t, uint32_t)

   Adafruit_SH1106G(uint16_t w, uint16_t h, TwoWire *twi = &Wire,

   ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:102:3: note:   no known conversion for argument 3 from 'USI_TWI*' to 'int*'

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:100:7: note: Adafruit_SH1106G::Adafruit_SH1106G(const Adafruit_SH1106G&)

 class Adafruit_SH1106G : public Adafruit_SH110X {

       ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X/Adafruit_SH110X.h:100:7: note:   candidate expects 1 argument, 4 provided

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void setup()':

SH1106_128x64_i2c_QTPY:79:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:82:11: error: 'class Adafruit_SH1106G' has no member named 'drawPixel'

   display.drawPixel(10, 10, SH110X_WHITE);

           ^

SH1106_128x64_i2c_QTPY:88:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:94:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:100:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:106:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:112:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:115:11: error: 'class Adafruit_SH1106G' has no member named 'fillCircle'

   display.fillCircle(display.width() / 2, display.height() / 2, 10, SH110X_WHITE);

           ^

SH1106_128x64_i2c_QTPY:115:30: error: 'class Adafruit_SH1106G' has no member named 'width'

   display.fillCircle(display.width() / 2, display.height() / 2, 10, SH110X_WHITE);

                              ^

SH1106_128x64_i2c_QTPY:115:51: error: 'class Adafruit_SH1106G' has no member named 'height'

   display.fillCircle(display.width() / 2, display.height() / 2, 10, SH110X_WHITE);

                                                   ^

SH1106_128x64_i2c_QTPY:118:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:122:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:126:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:130:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:134:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:140:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:145:11: error: 'class Adafruit_SH1106G' has no member named 'setTextSize'

   display.setTextSize(1);

           ^

SH1106_128x64_i2c_QTPY:146:11: error: 'class Adafruit_SH1106G' has no member named 'setTextColor'

   display.setTextColor(SH110X_WHITE);

           ^

SH1106_128x64_i2c_QTPY:147:11: error: 'class Adafruit_SH1106G' has no member named 'setCursor'

   display.setCursor(0, 0);

           ^

SH1106_128x64_i2c_QTPY:148:11: error: 'class Adafruit_SH1106G' has no member named 'println'

   display.println("Failure is always an option");

           ^

SH1106_128x64_i2c_QTPY:149:11: error: 'class Adafruit_SH1106G' has no member named 'setTextColor'

   display.setTextColor(SH110X_BLACK, SH110X_WHITE); // 'inverted' text

           ^

SH1106_128x64_i2c_QTPY:150:11: error: 'class Adafruit_SH1106G' has no member named 'println'

   display.println(3.141592);

           ^

SH1106_128x64_i2c_QTPY:151:11: error: 'class Adafruit_SH1106G' has no member named 'setTextSize'

   display.setTextSize(2);

           ^

SH1106_128x64_i2c_QTPY:152:11: error: 'class Adafruit_SH1106G' has no member named 'setTextColor'

   display.setTextColor(SH110X_WHITE);

           ^

SH1106_128x64_i2c_QTPY:153:11: error: 'class Adafruit_SH1106G' has no member named 'print'

   display.print("0x"); display.println(0xDEADBEEF, HEX);

           ^

SH1106_128x64_i2c_QTPY:153:32: error: 'class Adafruit_SH1106G' has no member named 'println'

   display.print("0x"); display.println(0xDEADBEEF, HEX);

                                ^

SH1106_128x64_i2c_QTPY:156:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:159:11: error: 'class Adafruit_SH1106G' has no member named 'drawBitmap'

   display.drawBitmap(30, 16,  logo16_glcd_bmp, 16, 16, 1);

           ^

SH1106_128x64_i2c_QTPY:164:11: error: 'class Adafruit_SH1106G' has no member named 'invertDisplay'

   display.invertDisplay(true);

           ^

SH1106_128x64_i2c_QTPY:166:11: error: 'class Adafruit_SH1106G' has no member named 'invertDisplay'

   display.invertDisplay(false);

           ^

SH1106_128x64_i2c_QTPY:168:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawbitmap(const uint8_t*, uint8_t, uint8_t)':

SH1106_128x64_i2c_QTPY:185:37: error: 'class Adafruit_SH1106G' has no member named 'width'

     icons[f][XPOS] = random(display.width());

                                     ^

SH1106_128x64_i2c_QTPY:200:15: error: 'class Adafruit_SH1106G' has no member named 'drawBitmap'

       display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SH110X_WHITE);

               ^

SH1106_128x64_i2c_QTPY:207:15: error: 'class Adafruit_SH1106G' has no member named 'drawBitmap'

       display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SH110X_BLACK);

               ^

SH1106_128x64_i2c_QTPY:211:36: error: 'class Adafruit_SH1106G' has no member named 'height'

       if (icons[f][YPOS] > display.height()) {

                                    ^

SH1106_128x64_i2c_QTPY:212:41: error: 'class Adafruit_SH1106G' has no member named 'width'

         icons[f][XPOS] = random(display.width());

                                         ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawchar()':

SH1106_128x64_i2c_QTPY:222:11: error: 'class Adafruit_SH1106G' has no member named 'setTextSize'

   display.setTextSize(1);

           ^

SH1106_128x64_i2c_QTPY:223:11: error: 'class Adafruit_SH1106G' has no member named 'setTextColor'

   display.setTextColor(SH110X_WHITE);

           ^

SH1106_128x64_i2c_QTPY:224:11: error: 'class Adafruit_SH1106G' has no member named 'setCursor'

   display.setCursor(0, 0);

           ^

SH1106_128x64_i2c_QTPY:228:13: error: 'class Adafruit_SH1106G' has no member named 'write'

     display.write(i);

             ^

SH1106_128x64_i2c_QTPY:230:15: error: 'class Adafruit_SH1106G' has no member named 'println'

       display.println();

               ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawcircle()':

SH1106_128x64_i2c_QTPY:237:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height(); i += 2) {

                                   ^

SH1106_128x64_i2c_QTPY:238:13: error: 'class Adafruit_SH1106G' has no member named 'drawCircle'

     display.drawCircle(display.width() / 2, display.height() / 2, i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:238:32: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawCircle(display.width() / 2, display.height() / 2, i, SH110X_WHITE);

                                ^

SH1106_128x64_i2c_QTPY:238:53: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawCircle(display.width() / 2, display.height() / 2, i, SH110X_WHITE);

                                                     ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testfillrect()':

SH1106_128x64_i2c_QTPY:246:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height() / 2; i += 3) {

                                   ^

SH1106_128x64_i2c_QTPY:248:13: error: 'class Adafruit_SH1106G' has no member named 'fillRect'

     display.fillRect(i, i, display.width() - i * 2, display.height() - i * 2, color % 2);

             ^

SH1106_128x64_i2c_QTPY:248:36: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.fillRect(i, i, display.width() - i * 2, display.height() - i * 2, color % 2);

                                    ^

SH1106_128x64_i2c_QTPY:248:61: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.fillRect(i, i, display.width() - i * 2, display.height() - i * 2, color % 2);

                                                             ^

In file included from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:12:0,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawtriangle()':

SH1106_128x64_i2c_QTPY:256:39: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = 0; i < min(display.width(), display.height()) / 2; i += 5) {

                                       ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:20: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                    ^

SH1106_128x64_i2c_QTPY:256:56: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < min(display.width(), display.height()) / 2; i += 5) {

                                                        ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:24: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                        ^

SH1106_128x64_i2c_QTPY:256:39: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = 0; i < min(display.width(), display.height()) / 2; i += 5) {

                                       ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:28: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                            ^

SH1106_128x64_i2c_QTPY:256:56: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < min(display.width(), display.height()) / 2; i += 5) {

                                                        ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:32: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                                ^

SH1106_128x64_i2c_QTPY:257:13: error: 'class Adafruit_SH1106G' has no member named 'drawTriangle'

     display.drawTriangle(display.width() / 2, display.height() / 2 - i,

             ^

SH1106_128x64_i2c_QTPY:257:34: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawTriangle(display.width() / 2, display.height() / 2 - i,

                                  ^

SH1106_128x64_i2c_QTPY:257:55: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawTriangle(display.width() / 2, display.height() / 2 - i,

                                                       ^

SH1106_128x64_i2c_QTPY:258:34: error: 'class Adafruit_SH1106G' has no member named 'width'

                          display.width() / 2 - i, display.height() / 2 + i,

                                  ^

SH1106_128x64_i2c_QTPY:258:59: error: 'class Adafruit_SH1106G' has no member named 'height'

                          display.width() / 2 - i, display.height() / 2 + i,

                                                           ^

SH1106_128x64_i2c_QTPY:259:34: error: 'class Adafruit_SH1106G' has no member named 'width'

                          display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);

                                  ^

SH1106_128x64_i2c_QTPY:259:59: error: 'class Adafruit_SH1106G' has no member named 'height'

                          display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);

                                                           ^

In file included from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:12:0,

                 from C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,

                 from sketch\SH1106_128x64_i2c_QTPY.ino.cpp:1:

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testfilltriangle()':

SH1106_128x64_i2c_QTPY:267:32: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = min(display.width(), display.height()) / 2; i > 0; i -= 5) {

                                ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:20: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                    ^

SH1106_128x64_i2c_QTPY:267:49: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = min(display.width(), display.height()) / 2; i > 0; i -= 5) {

                                                 ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:24: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                        ^

SH1106_128x64_i2c_QTPY:267:32: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = min(display.width(), display.height()) / 2; i > 0; i -= 5) {

                                ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:28: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                            ^

SH1106_128x64_i2c_QTPY:267:49: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = min(display.width(), display.height()) / 2; i > 0; i -= 5) {

                                                 ^

C:\Users\mikee\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/wiring.h:133:32: note: in definition of macro 'min'

 #define min(a,b) ((a)<(b)?(a):(b))

                                ^

SH1106_128x64_i2c_QTPY:268:13: error: 'class Adafruit_SH1106G' has no member named 'fillTriangle'

     display.fillTriangle(display.width() / 2, display.height() / 2 - i,

             ^

SH1106_128x64_i2c_QTPY:268:34: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.fillTriangle(display.width() / 2, display.height() / 2 - i,

                                  ^

SH1106_128x64_i2c_QTPY:268:55: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.fillTriangle(display.width() / 2, display.height() / 2 - i,

                                                       ^

SH1106_128x64_i2c_QTPY:269:34: error: 'class Adafruit_SH1106G' has no member named 'width'

                          display.width() / 2 - i, display.height() / 2 + i,

                                  ^

SH1106_128x64_i2c_QTPY:269:59: error: 'class Adafruit_SH1106G' has no member named 'height'

                          display.width() / 2 - i, display.height() / 2 + i,

                                                           ^

SH1106_128x64_i2c_QTPY:270:34: error: 'class Adafruit_SH1106G' has no member named 'width'

                          display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);

                                  ^

SH1106_128x64_i2c_QTPY:270:59: error: 'class Adafruit_SH1106G' has no member named 'height'

                          display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);

                                                           ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawroundrect()':

SH1106_128x64_i2c_QTPY:279:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height() / 2 - 2; i += 2) {

                                   ^

SH1106_128x64_i2c_QTPY:280:13: error: 'class Adafruit_SH1106G' has no member named 'drawRoundRect'

     display.drawRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:280:41: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, SH110X_WHITE);

                                         ^

SH1106_128x64_i2c_QTPY:280:66: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, SH110X_WHITE);

                                                                  ^

SH1106_128x64_i2c_QTPY:280:92: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, SH110X_WHITE);

                                                                                            ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testfillroundrect()':

SH1106_128x64_i2c_QTPY:288:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height() / 2 - 2; i += 2) {

                                   ^

SH1106_128x64_i2c_QTPY:289:13: error: 'class Adafruit_SH1106G' has no member named 'fillRoundRect'

     display.fillRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, color);

             ^

SH1106_128x64_i2c_QTPY:289:41: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.fillRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, color);

                                         ^

SH1106_128x64_i2c_QTPY:289:66: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.fillRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, color);

                                                                  ^

SH1106_128x64_i2c_QTPY:289:92: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.fillRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, color);

                                                                                            ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawrect()':

SH1106_128x64_i2c_QTPY:298:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height() / 2; i += 2) {

                                   ^

SH1106_128x64_i2c_QTPY:299:13: error: 'class Adafruit_SH1106G' has no member named 'drawRect'

     display.drawRect(i, i, display.width() - 2 * i, display.height() - 2 * i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:299:36: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawRect(i, i, display.width() - 2 * i, display.height() - 2 * i, SH110X_WHITE);

                                    ^

SH1106_128x64_i2c_QTPY:299:61: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawRect(i, i, display.width() - 2 * i, display.height() - 2 * i, SH110X_WHITE);

                                                             ^

C:\Users\mikee\Documents\Arduino\libraries\Adafruit_SH110X\examples\OLED_QTPY_SH1106\SH1106_128x64_i2c_QTPY\SH1106_128x64_i2c_QTPY.ino: In function 'void testdrawline()':

SH1106_128x64_i2c_QTPY:306:35: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = 0; i < display.width(); i += 4) {

                                   ^

SH1106_128x64_i2c_QTPY:307:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(0, 0, i, display.height() - 1, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:307:39: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(0, 0, i, display.height() - 1, SH110X_WHITE);

                                       ^

SH1106_128x64_i2c_QTPY:311:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height(); i += 4) {

                                   ^

SH1106_128x64_i2c_QTPY:312:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(0, 0, display.width() - 1, i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:312:36: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(0, 0, display.width() - 1, i, SH110X_WHITE);

                                    ^

SH1106_128x64_i2c_QTPY:318:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:319:35: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = 0; i < display.width(); i += 4) {

                                   ^

SH1106_128x64_i2c_QTPY:320:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(0, display.height() - 1, i, 0, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:320:33: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(0, display.height() - 1, i, 0, SH110X_WHITE);

                                 ^

SH1106_128x64_i2c_QTPY:324:28: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = display.height() - 1; i >= 0; i -= 4) {

                            ^

SH1106_128x64_i2c_QTPY:325:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(0, display.height() - 1, display.width() - 1, i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:325:33: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(0, display.height() - 1, display.width() - 1, i, SH110X_WHITE);

                                 ^

SH1106_128x64_i2c_QTPY:325:55: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(0, display.height() - 1, display.width() - 1, i, SH110X_WHITE);

                                                       ^

SH1106_128x64_i2c_QTPY:331:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:332:28: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = display.width() - 1; i >= 0; i -= 4) {

                            ^

SH1106_128x64_i2c_QTPY:333:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(display.width() - 1, display.height() - 1, i, 0, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:333:30: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(display.width() - 1, display.height() - 1, i, 0, SH110X_WHITE);

                              ^

SH1106_128x64_i2c_QTPY:333:51: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(display.width() - 1, display.height() - 1, i, 0, SH110X_WHITE);

                                                   ^

SH1106_128x64_i2c_QTPY:337:28: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = display.height() - 1; i >= 0; i -= 4) {

                            ^

SH1106_128x64_i2c_QTPY:338:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(display.width() - 1, display.height() - 1, 0, i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:338:30: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(display.width() - 1, display.height() - 1, 0, i, SH110X_WHITE);

                              ^

SH1106_128x64_i2c_QTPY:338:51: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(display.width() - 1, display.height() - 1, 0, i, SH110X_WHITE);

                                                   ^

SH1106_128x64_i2c_QTPY:344:11: error: 'class Adafruit_SH1106G' has no member named 'clearDisplay'

   display.clearDisplay();

           ^

SH1106_128x64_i2c_QTPY:345:35: error: 'class Adafruit_SH1106G' has no member named 'height'

   for (int16_t i = 0; i < display.height(); i += 4) {

                                   ^

SH1106_128x64_i2c_QTPY:346:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(display.width() - 1, 0, 0, i, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:346:30: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(display.width() - 1, 0, 0, i, SH110X_WHITE);

                              ^

SH1106_128x64_i2c_QTPY:350:35: error: 'class Adafruit_SH1106G' has no member named 'width'

   for (int16_t i = 0; i < display.width(); i += 4) {

                                   ^

SH1106_128x64_i2c_QTPY:351:13: error: 'class Adafruit_SH1106G' has no member named 'drawLine'

     display.drawLine(display.width() - 1, 0, i, display.height() - 1, SH110X_WHITE);

             ^

SH1106_128x64_i2c_QTPY:351:30: error: 'class Adafruit_SH1106G' has no member named 'width'

     display.drawLine(display.width() - 1, 0, i, display.height() - 1, SH110X_WHITE);

                              ^

SH1106_128x64_i2c_QTPY:351:57: error: 'class Adafruit_SH1106G' has no member named 'height'

     display.drawLine(display.width() - 1, 0, i, display.height() - 1, SH110X_WHITE);

                                                         ^

exit status 1

no matching function for call to 'Adafruit_SH1106G::Adafruit_SH1106G(int, int, USI_TWI*, int)'



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

The code example.

/*********************************************************************
  This is an example for our Monochrome OLEDs based on SH110X drivers

  This example is for a 128x64 size display using I2C to communicate
  3 pins are required to interface (2 I2C and one reset)

  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada  for Adafruit Industries.
  BSD license, check license.txt for more information
  All text above, and the splash screen must be included in any redistribution

  i2c SH1106 modified by Rupert Hirst  12/09/21
*********************************************************************/



#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>

/* Uncomment the initialize the I2C address , uncomment only one, If you get a totally blank screen try the other*/
#define i2c_Address 0x3c //initialize with the I2C addr 0x3C Typically eBay OLED's
//#define i2c_Address 0x3d //initialize with the I2C addr 0x3D Typically Adafruit OLED's

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1   //   QT-PY / XIAO
Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2


#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000
};


void setup()   {

  Serial.begin(9600);

  // Show image buffer on the display hardware.
  // Since the buffer is intialized with an Adafruit splashscreen
  // internally, this will display the splashscreen.

  delay(250); // wait for the OLED to power up
  display.begin(i2c_Address, true); // Address 0x3C default
 //display.setContrast (0); // dim display
 
  display.display();
  delay(2000);

  // Clear the buffer.
  display.clearDisplay();

  // draw a single pixel
  display.drawPixel(10, 10, SH110X_WHITE);
  // Show the display buffer on the hardware.
  // NOTE: You _must_ call display after making any drawing commands
  // to make them visible on the display hardware!
  display.display();
  delay(2000);
  display.clearDisplay();

  // draw many lines
  testdrawline();
  display.display();
  delay(2000);
  display.clearDisplay();

  // draw rectangles
  testdrawrect();
  display.display();
  delay(2000);
  display.clearDisplay();

  // draw multiple rectangles
  testfillrect();
  display.display();
  delay(2000);
  display.clearDisplay();

  // draw mulitple circles
  testdrawcircle();
  display.display();
  delay(2000);
  display.clearDisplay();

  // draw a SH110X_WHITE circle, 10 pixel radius
  display.fillCircle(display.width() / 2, display.height() / 2, 10, SH110X_WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();

  testdrawroundrect();
  delay(2000);
  display.clearDisplay();

  testfillroundrect();
  delay(2000);
  display.clearDisplay();

  testdrawtriangle();
  delay(2000);
  display.clearDisplay();

  testfilltriangle();
  delay(2000);
  display.clearDisplay();

  // draw the first ~12 characters in the font
  testdrawchar();
  display.display();
  delay(2000);
  display.clearDisplay();



  // text display tests
  display.setTextSize(1);
  display.setTextColor(SH110X_WHITE);
  display.setCursor(0, 0);
  display.println("Failure is always an option");
  display.setTextColor(SH110X_BLACK, SH110X_WHITE); // 'inverted' text
  display.println(3.141592);
  display.setTextSize(2);
  display.setTextColor(SH110X_WHITE);
  display.print("0x"); display.println(0xDEADBEEF, HEX);
  display.display();
  delay(2000);
  display.clearDisplay();

  // miniature bitmap display
  display.drawBitmap(30, 16,  logo16_glcd_bmp, 16, 16, 1);
  display.display();
  delay(1);

  // invert the display
  display.invertDisplay(true);
  delay(1000);
  display.invertDisplay(false);
  delay(1000);
  display.clearDisplay();

  // draw a bitmap icon and 'animate' movement
  testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);
}


void loop() {

}


void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {
  uint8_t icons[NUMFLAKES][3];

  // initialize
  for (uint8_t f = 0; f < NUMFLAKES; f++) {
    icons[f][XPOS] = random(display.width());
    icons[f][YPOS] = 0;
    icons[f][DELTAY] = random(5) + 1;

    Serial.print("x: ");
    Serial.print(icons[f][XPOS], DEC);
    Serial.print(" y: ");
    Serial.print(icons[f][YPOS], DEC);
    Serial.print(" dy: ");
    Serial.println(icons[f][DELTAY], DEC);
  }

  while (1) {
    // draw each icon
    for (uint8_t f = 0; f < NUMFLAKES; f++) {
      display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SH110X_WHITE);
    }
    display.display();
    delay(200);

    // then erase it + move it
    for (uint8_t f = 0; f < NUMFLAKES; f++) {
      display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, SH110X_BLACK);
      // move it
      icons[f][YPOS] += icons[f][DELTAY];
      // if its gone, reinit
      if (icons[f][YPOS] > display.height()) {
        icons[f][XPOS] = random(display.width());
        icons[f][YPOS] = 0;
        icons[f][DELTAY] = random(5) + 1;
      }
    }
  }
}


void testdrawchar(void) {
  display.setTextSize(1);
  display.setTextColor(SH110X_WHITE);
  display.setCursor(0, 0);

  for (uint8_t i = 0; i < 168; i++) {
    if (i == '\n') continue;
    display.write(i);
    if ((i > 0) && (i % 21 == 0))
      display.println();
  }
  display.display();
  delay(1);
}

void testdrawcircle(void) {
  for (int16_t i = 0; i < display.height(); i += 2) {
    display.drawCircle(display.width() / 2, display.height() / 2, i, SH110X_WHITE);
    display.display();
    delay(1);
  }
}

void testfillrect(void) {
  uint8_t color = 1;
  for (int16_t i = 0; i < display.height() / 2; i += 3) {
    // alternate colors
    display.fillRect(i, i, display.width() - i * 2, display.height() - i * 2, color % 2);
    display.display();
    delay(1);
    color++;
  }
}

void testdrawtriangle(void) {
  for (int16_t i = 0; i < min(display.width(), display.height()) / 2; i += 5) {
    display.drawTriangle(display.width() / 2, display.height() / 2 - i,
                         display.width() / 2 - i, display.height() / 2 + i,
                         display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);
    display.display();
    delay(1);
  }
}

void testfilltriangle(void) {
  uint8_t color = SH110X_WHITE;
  for (int16_t i = min(display.width(), display.height()) / 2; i > 0; i -= 5) {
    display.fillTriangle(display.width() / 2, display.height() / 2 - i,
                         display.width() / 2 - i, display.height() / 2 + i,
                         display.width() / 2 + i, display.height() / 2 + i, SH110X_WHITE);
    if (color == SH110X_WHITE) color = SH110X_BLACK;
    else color = SH110X_WHITE;
    display.display();
    delay(1);
  }
}

void testdrawroundrect(void) {
  for (int16_t i = 0; i < display.height() / 2 - 2; i += 2) {
    display.drawRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, SH110X_WHITE);
    display.display();
    delay(1);
  }
}

void testfillroundrect(void) {
  uint8_t color = SH110X_WHITE;
  for (int16_t i = 0; i < display.height() / 2 - 2; i += 2) {
    display.fillRoundRect(i, i, display.width() - 2 * i, display.height() - 2 * i, display.height() / 4, color);
    if (color == SH110X_WHITE) color = SH110X_BLACK;
    else color = SH110X_WHITE;
    display.display();
    delay(1);
  }
}

void testdrawrect(void) {
  for (int16_t i = 0; i < display.height() / 2; i += 2) {
    display.drawRect(i, i, display.width() - 2 * i, display.height() - 2 * i, SH110X_WHITE);
    display.display();
    delay(1);
  }
}

void testdrawline() {
  for (int16_t i = 0; i < display.width(); i += 4) {
    display.drawLine(0, 0, i, display.height() - 1, SH110X_WHITE);
    display.display();
    delay(1);
  }
  for (int16_t i = 0; i < display.height(); i += 4) {
    display.drawLine(0, 0, display.width() - 1, i, SH110X_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

  display.clearDisplay();
  for (int16_t i = 0; i < display.width(); i += 4) {
    display.drawLine(0, display.height() - 1, i, 0, SH110X_WHITE);
    display.display();
    delay(1);
  }
  for (int16_t i = display.height() - 1; i >= 0; i -= 4) {
    display.drawLine(0, display.height() - 1, display.width() - 1, i, SH110X_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

  display.clearDisplay();
  for (int16_t i = display.width() - 1; i >= 0; i -= 4) {
    display.drawLine(display.width() - 1, display.height() - 1, i, 0, SH110X_WHITE);
    display.display();
    delay(1);
  }
  for (int16_t i = display.height() - 1; i >= 0; i -= 4) {
    display.drawLine(display.width() - 1, display.height() - 1, 0, i, SH110X_WHITE);
    display.display();
    delay(1);
  }
  delay(250);

  display.clearDisplay();
  for (int16_t i = 0; i < display.height(); i += 4) {
    display.drawLine(display.width() - 1, 0, 0, i, SH110X_WHITE);
    display.display();
    delay(1);
  }
  for (int16_t i = 0; i < display.width(); i += 4) {
    display.drawLine(display.width() - 1, 0, i, display.height() - 1, SH110X_WHITE);
    display.display();
    delay(1);
  }
  delay(250);
}

Forgot to mention the Atiny85 is what I use.

Thanks.

Did you read the errors? Many of them are so similar like they are pointing you to the problem. If I had to guess, it looks like SPI.h has a dependancy that is missing in the digispark core.

Yes I did , scroll way down I found a lot of this below.

width and height which is variables ? Why ?

Then also drawLine and clearDisplay and a few more functions inside the Library .. confusing.

You're looking at the non-important mistakes.
The main incompatibility is here:

error: 'SPE' was not declared in this scope
error: 'MSTR' was not declared in this scope
error: 'DORD' was not declared in this scope
.... and so on....

It is because Nano and Attiny uses different mcu cores, has different registers and libraries.

A while back I tested the McuFriend graphics example on a UNO with the TFT shield.

Then I hardwired the TFT shield to a STM32F103(Bluepill) change the Core , compile and program the Bluepill and to my absolute disbelieve it worked.

The same Library worked on 2 different Processors and 2 different Cores only the touch screen did not work.

well, you won. mark your post as solution and create new topic.

1 Like

And from this you conclude that if one library works on two cores, then all the others should work? :slight_smile:

if you look into the McuFriend source code, you will see that the library is ALREADY adapted for STM32.
If you (or somebody) adapt the Adafruit_SH110X library it will also work on Attiny.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.