t-rex-duino
t-rex-duino copied to clipboard
Code issue
This part of the code won't compile : LCD_SH1106_SDA -> A4 (I2C SDA) LCD_SH1106_SCL -> A5 (I2C SCL) It needs #define added at the begienning like this : #define LCD_SH1106_SDA -> A4 (12C SDA) #define LCD_SH1106_SDA -> A5 (12C SCL) Only then it'l work fine. (This is labeled SH1106 but it works for SSD1306 too. It's used to define 12C pins.) For more detail this is the error : Arduino: 1.8.19 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"
t-rex-duino:35:2: error: 'LCD_SH1106_SDA' does not name a type; did you mean 'LCD_SH1106'?
LCD_SH1106_SDA -> A4 (I2C SDA)
^~~~~~~~~~~~~~
LCD_SH1106
In file included from C:\Users\Corysa\AppData\Local\Temp\Rar$DIa21236.21076\t-rex-duino\t-rex-duino.ino:71:0:
C:\Users\Sebastian\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:97:5: error: 'EERef' does not name a type; did you mean 'EERE'?
EERef operator*() { return index; }
^~~~~
EERE
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:119:5: error: 'EERef' does not name a type; did you mean 'EERE'?
EERef operator[]( const int idx ) { return idx; }
^~~~~
EERE
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h: In member function 'uint8_t EEPROMClass::read(int)':
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:120:51: error: 'EERef' was not declared in this scope
uint8_t read( int idx ) { return EERef( idx ); }
^~~~~
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:120:51: note: suggested alternative: 'EERE'
uint8_t read( int idx ) { return EERef( idx ); }
^~~~~
EERE
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h: In member function 'void EEPROMClass::write(int, uint8_t)':
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:121:45: error: 'EERef' was not declared in this scope
void write( int idx, uint8_t val ) { (EERef( idx )) = val; }
^~~~~
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:121:45: note: suggested alternative: 'EERE'
void write( int idx, uint8_t val ) { (EERef( idx )) = val; }
^~~~~
EERE
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h: In member function 'void EEPROMClass::update(int, uint8_t)':
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:122:44: error: 'EERef' was not declared in this scope
void update( int idx, uint8_t val ) { EERef( idx ).update( val ); }
^~~~~
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:122:44: note: suggested alternative: 'EERE'
void update( int idx, uint8_t val ) { EERef( idx ).update( val ); }
^~~~~
EERE
In file included from C:\Users\Corysa\AppData\Local\Temp\Rar$DIa21236.21076\t-rex-duino\t-rex-duino.ino:71:0:
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h: In member function 'T& EEPROMClass::get(int, T&)':
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:133:71: error: no match for 'operator*' (operand type is 'EEPtr')
for( int count = sizeof(T) ; count ; --count, ++e ) *ptr++ = *e;
^~
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h: In member function 'const T& EEPROMClass::put(int, const T&)':
C:\Users\Corysa\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\libraries\EEPROM\src/EEPROM.h:140:63: error: no match for 'operator*' (operand type is 'EEPtr')
for( int count = sizeof(T) ; count ; --count, ++e ) (*e).update( *ptr++ );
^~
Multiple libraries were found for "SH1106.h"
Used: C:\Users\Corysa\Documents\Arduino\libraries\SH1106.h
Not used: C:\Users\Corysa\Documents\Arduino\libraries\ESP8266_and_ESP32_OLED_driver_for_SSD1306_displays
exit status 1
'LCD_SH1106_SDA' does not name a type; did you mean 'LCD_SH1106'?
This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. This is the raw error , I only changed the name because it was my real one and i can't show it. WARNING! By default this part comes commented so it's not an issue. Only if you want to use an SSD1306 or SH1106 it's a problem.