Skip to content

Code issue #4

Description

@CorydoraSterbai4343

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions