AlexIII / t-rex-duino

Clone of T-rex game from Chrome browser rewritten for Arduino
MIT License
83 stars 12 forks source link

Code issue #4

Open CorydoraSterbai4343 opened 4 months ago

CorydoraSterbai4343 commented 4 months ago

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.