gromeck / BLE-Scanner

ESP32-based Bluetooth Low Energy (BLE) scanner to report presence of bluetooth devices into an MQTT service.
GNU General Public License v3.0
78 stars 15 forks source link

Unable to compile in Arduino 2.3.2 #25

Open nextgenoperations opened 3 weeks ago

nextgenoperations commented 3 weeks ago

Would love to play with this but I am unable to use in 2.3.2.

I installed the board fine (got some other examples for BLE scanning and all works)...

I installed the libraries :

NimBLE 1.4.2 PubSubClient 2.8 via Library Manager and

Time 1.6.1 direct from GitHub...

When I compile i get a load of errors which I could start to try and work through, but I wondered if you had plans to update this at all ?

or perhaps at least mention the versions of the libraries that you used...

/Users/adam/Documents/Arduino/BLE-Scanner/watchdog.cpp: In function 'void WatchdogSetup(int)': /Users/adam/Documents/Arduino/BLE-Scanner/watchdog.cpp:40:21: error: invalid conversion from 'int' to 'const esp_task_wdt_config_t*' [-fpermissive] 40 esp_task_wdt_init(timeout, true); ^~~
int

/Users/adam/Documents/Arduino/BLE-Scanner/watchdog.cpp:40:20: error: too many arguments to function 'esp_err_t esp_task_wdt_init(const esp_task_wdt_config_t)' 40 | esp_task_wdt_init(timeout, true); | ~~~^~~~~ In file included from /Users/adam/Documents/Arduino/BLE-Scanner/watchdog.cpp:29: /Users/adam/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-442a798083/esp32/include/esp_system/include/esp_task_wdt.h:47:11: note: declared here 47 | esp_err_t esp_task_wdt_init(const esp_task_wdt_config_t config); | ^~~~~ /Users/adam/Documents/Arduino/BLE-Scanner/ntp.cpp: In function 'void NtpSetup()': /Users/adam/Documents/Arduino/BLE-Scanner/ntp.cpp:178:7: error: 'WiFi' was not declared in this scope 178 | if (WiFi.hostByName(_config_ntp.server, _ntp_ip)) { | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp: In function 'void EepromInit(int)': /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:36:3: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 36 | EEPROM.begin(_eeprom_size); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp: In function 'void EepromClear()': /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:65:5: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 65 | EEPROM.write(n, 0xff); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:66:3: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 66 | EEPROM.commit(); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp: In function 'int EepromRead(int, int, void)': /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:80:9: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 80 | if (EEPROM.read(addr + n) != 0xff) | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:87:28: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 87 | ((byte ) buffer)[n] = EEPROM.read(addr + n); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp: In function 'void EepromWrite(int, int, const void)': /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:102:5: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 102 | EEPROM.write(addr + n, ((byte ) buffer)[n]); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/eeprom.cpp:107:3: error: 'EEPROM' was not declared in this scope; did you mean 'EPERM'? 107 | EEPROM.commit(); | ^~ | EPERM /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'bool WifiSetup()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:47:85: error: 'WiFi' was not declared in this scope 47 | strcpy(_AP_SSID, (String(WIFI_AP_SSID_PREFIX) + String(AddressToString((byte ) WiFi.macAddress(mac) + sizeof(mac) - WIFI_AP_SSID_USE_LAST_MAC_DIGITS, WIFI_AP_SSID_USE_LAST_MAC_DIGITS, false, ':'))).c_str()); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:50:15: error: 'WIFI_AP' was not declared in this scope 50 | WiFi.mode(WIFI_AP); | ^~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:75:5: error: 'WiFi' was not declared in this scope 75 | WiFi.mode(WIFI_STA); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:75:15: error: 'WIFI_STA' was not declared in this scope 75 | WiFi.mode(WIFI_STA); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'bool WifiUpdate()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:103:9: error: 'WiFi' was not declared in this scope 103 | if (WiFi.status() != WL_CONNECTED) { | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:103:26: error: 'WL_CONNECTED' was not declared in this scope 103 | if (WiFi.status() != WL_CONNECTED) { | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'String WifiGetSSID()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:137:53: error: 'WiFi' was not declared in this scope 137 | return StateCheck(STATE_CONFIGURING) ? _AP_SSID : WiFi.SSID(); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'int WifiGetChannel()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:145:10: error: 'WiFi' was not declared in this scope 145 | return WiFi.channel(); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'int WifiGetRSSI()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:153:10: error: 'WiFi' was not declared in this scope 153 | return WiFi.RSSI(); | ^~~~ In file included from /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:29: /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'String WifiGetIpAddr()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:162:60: error: 'WiFi' was not declared in this scope 162 | return IPAddressToString(StateCheck(STATE_CONFIGURING) ? WiFi.softAPIP() : WiFi.localIP()); | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/util.h:63:37: note: in definition of macro 'IPAddressToString' 63 | #define IPAddressToString(addr) ((addr).toString()) | ^~~~ /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp: In function 'String WifiGetMacAddr()': /Users/adam/Documents/Arduino/BLE-Scanner/wifi.cpp:172:42: error: 'WiFi' was not declared in this scope 172 | return String(AddressToString((byte ) WiFi.macAddress(mac), sizeof(mac), false, ':')); | ^~~~

exit status 1

Compilation error: invalid conversion from 'int' to 'const esp_task_wdt_config_t*' [-fpermissive]

cybernetikaIO commented 2 days ago

I'm also able to replicate the issue. This looks like an absolutely fantastic project and I'd love to look at extending it to a LilyGo TTGO with an external Bluetooth antenna port that would expand the range the device would be able to scan. I am currently using the WEMOS D1 MINI ESP32 to minimize board-difference issues and work to a functional baseline.

My initial error that stops the compile is identical. Buy you a couple beers gromeck if we can figure this out? Cheers:

/home/opsadmin/Projects/BLE-Scanner/BLE-Scanner/watchdog.cpp: In function 'void WatchdogSetup(int)': /home/opsadmin/Projects/BLE-Scanner/BLE-Scanner/watchdog.cpp:40:21: error: invalid conversion from 'int' to 'const esp_task_wdt_config_t*' [-fpermissive] 40 esp_task_wdt_init(timeout, true); ^~~
int

/home/opsadmin/Projects/BLE-Scanner/BLE-Scanner/watchdog.cpp:40:20: error: too many arguments to function 'esp_err_t esp_task_wdt_init(const esp_task_wdt_config_t)' 40 | esp_task_wdt_init(timeout, true); | ~~~^~~~~ In file included from /home/opsadmin/Projects/BLE-Scanner/BLE-Scanner/watchdog.cpp:29: /home/opsadmin/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-bd2b9390ef/esp32/include/esp_system/include/esp_task_wdt.h:47:11: note: declared here 47 | esp_err_t esp_task_wdt_init(const esp_task_wdt_config_t config); | ^~~~~

exit status 1

Compilation error: invalid conversion from 'int' to 'const esp_task_wdt_config_t*' [-fpermissive]