botletics / Botletics-SIM7000

Arduino library repo for the Botletics SIM7000 Shield
https://www.botletics.com/products/sim7000-shield
GNU General Public License v3.0
19 stars 9 forks source link

Example does not compile with esp32 v2.0.8 #13

Closed thomergil closed 1 year ago

thomergil commented 1 year ago
/private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino: In function 'void setup()':
/private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:171:41: error: no matching function for call to 'Botletics_modem_LTE::setNetworkSettings(const char [9])'
   modem.setNetworkSettings(F("hologram")); // For Hologram SIM card
                                         ^
In file included from /private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:26:
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:191:8: note: candidate: 'void Botletics_modem::setNetworkSettings(FStringPtr, FStringPtr, FStringPtr)'
   void setNetworkSettings(FStringPtr apn, FStringPtr username=0, FStringPtr password=0);
        ^~~~~~~~~~~~~~~~~~
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:191:8: note:   no known conversion for argument 1 from 'const char [9]' to 'FStringPtr' {aka 'const __FlashStringHelper*'}
/private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino: In function 'void loop()':
/private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:748:61: error: no matching function for call to 'Botletics_modem_LTE::enableNTPTimeSync(bool, const char [13])'
         if (!modem.enableNTPTimeSync(true, F("pool.ntp.org")))
                                                             ^
In file included from /private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:26:
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:179:11: note: candidate: 'boolean Botletics_modem::enableNTPTimeSync(boolean, FStringPtr)'
   boolean enableNTPTimeSync(boolean onoff, FStringPtr ntpserver=0);
           ^~~~~~~~~~~~~~~~~
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:179:11: note:   no known conversion for argument 2 from 'const char [13]' to 'FStringPtr' {aka 'const __FlashStringHelper*'}
/private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:942:122: error: no matching function for call to 'Botletics_modem_LTE::HTTP_POST_start(char [80], const char [11], uint8_t*, size_t, uint16_t*, uint16_t*)'
         if (!modem.HTTP_POST_start(url, F("text/plain"), (uint8_t *) data, strlen(data), &statuscode, (uint16_t *)&length)) {
                                                                                                                          ^
In file included from /private/var/folders/rq/8_0g107d1r5dvgg16qdb41cc0000gn/T/.arduinoIDE-unsaved2023326-3354-u5nuf.5rcti/ESP32_LTE_Demo/ESP32_LTE_Demo.ino:26:
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:260:11: note: candidate: 'boolean Botletics_modem::HTTP_POST_start(char*, FStringPtr, const uint8_t*, uint16_t, uint16_t*, uint16_t*)'
   boolean HTTP_POST_start(char *url, FStringPtr contenttype, const uint8_t *postdata, uint16_t postdatalen,  uint16_t *status, uint16_t *datalen);
           ^~~~~~~~~~~~~~~
/Users/foo/src/arduino/libraries/BotleticsSIM7000/src/BotleticsSIM7000.h:260:11: note:   no known conversion for argument 2 from 'const char [11]' to 'FStringPtr' {aka 'const __FlashStringHelper*'}

Using library BotleticsSIM7000 at version 1.0.6 in folder: /Users/foo/src/arduino/libraries/BotleticsSIM7000 
exit status 1

Compilation error: no matching function for call to 'Botletics_modem_LTE::setNetworkSettings(const char [9])'
thomergil commented 1 year ago

Downgrading the Espressif esp32 board library to 2.0.7 through the Board Manager fixes the problem for the time being. (The problem is likely this commit: https://github.com/espressif/arduino-esp32/commit/b98255d8d1be7280e767f15a8c759e13e00f4b4a)

thomergil commented 1 year ago

@botletics curious to hear your insights on this because, as it stands now, this code is stuck with ESP32 v2.0.7. Thank you.

botletics commented 1 year ago

In Arduino 2.1.0 it compiles fine for the boards in "ESP32 Arduino" in Boards Manager v1.0.4

thomergil commented 1 year ago

@botletics , see above. The problem is ESP32 v2.0.8.

thomergil commented 1 year ago

@botletics, were you able to compile it? (The problem isn't Arduino, but ESP32 v2.0.8.)

botletics commented 1 year ago

It compiles for me on v2.0.9:

Screenshot (42)

thomergil commented 1 year ago

@botletics, confirmed. Thank you.