Open championc opened 1 year ago
I have the same issue
Same here, too. The previous version of Sofar2mqtt was fine, seemed to compile without warnings or errors. I'm only getting the compile warnings in the CRC section, though, but that may be because I'm using a different display.
The earlier version works fine, whereas this version seems to fall over and not connect, perhaps because of the compile warnings?
This screenshot highlights the lines that are causing the issue:
Is somebody have a compilable version for ide 2?
Has this been resolved? I have tried various versions of Arduino IDE and Sofar2mqtt and none have worked. I've not attempted older libraries as the permutations are legion. Does anyone know the required permutation of everything?!
Hi there
When I take the code from the project, I get the following errors when compiling it - although it does compile, but can this reported errors be fixed ?
C:\Users\corma\Downloads\Sofar2mqtt\Sofar2mqtt.ino: In function 'int listen(modbusResponse)': C:\Users\corma\Downloads\Sofar2mqtt\Sofar2mqtt.ino:644:24: warning: ISO C++ forbids converting a string constant to 'char' [-Wwrite-strings] 644 | resp->errorMessage = "Response too short"; | ^
~~~~~~~ C:\Users\corma\Downloads\Sofar2mqtt\Sofar2mqtt.ino:649:24: warning: ISO C++ forbids converting a string constant to 'char' [-Wwrite-strings] 649 | resp->errorMessage = "Valid data frame"; | ^~~~~~ C:\Users\corma\Downloads\Sofar2mqtt\Sofar2mqtt.ino:654:24: warning: ISO C++ forbids converting a string constant to 'char' [-Wwrite-strings] 654 | resp->errorMessage = "Error: invalid data frame"; | ^~~~~~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp: In member function 'void Adafruit_SSD1306::drawFastHLineInternal(int16_t, int16_t, int16_t, uint16_t)': c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:612:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 612 | register uint8_t pBuf = buffer; | ^~~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:618:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 618 | register uint8_t mask = 1 << (y&7); | ^~~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp: In member function 'void Adafruit_SSD1306::drawFastVLineInternal(int16_t, int16_t, int16_t, uint16_t)': c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:686:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 686 | register uint8_t y = y; | ^ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:687:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 687 | register uint8_t h = h; | ^ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:691:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 691 | register uint8_t pBuf = buffer; | ^~~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:698:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 698 | register uint8_t mod = (y&7); | ^~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:706:22: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 706 | register uint8_t mask = premask[mod]; | ^~~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:744:24: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 744 | register uint8_t val = (color == WHITE) ? 255 : 0; | ^~~ c:\Users\corma\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED\Adafruit_SSD1306.cpp:766:22: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 766 | register uint8_t mask = postmask[mod]; | ^~~~