CircuitSetup / Split-Single-Phase-Energy-Meter

Split Single-phase Energy Meter
https://www.crowdsupply.com/circuitsetup/split-single-phase-energy-meter
MIT License
261 stars 57 forks source link

Error during compiling EmonESP scr.ino. #67

Closed albnar closed 2 years ago

albnar commented 2 years ago

Hi, I bought recently the Split-Single-Phase-Energy-Meter board. I am following the instructions in https://github.com/CircuitSetup/Split-Single-Phase-Energy-Meter. I am using Arduino IDE and a ESP8266 as MCU. Everything went Ok until the step for compiling scr.ino

I get following error trying to complile scr.ino: src:37:10: fatal error: esp_task_wdt.h: No such file or directory 37 | #include

with #include "esp_task_wdt.h" the error is gone, but it came a new error no matching function for call to 'BearSSL::WiFiClientSecure::connect(const char*&, int&, int, int)'

here is the complete error text:

Arduino: 1.8.15 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\http.cpp: In function 'String get_http(const char, const char, int, const char*)':

http.cpp:53:53: error: no matching function for call to 'BearSSL::WiFiClientSecure::connect(const char*&, int&, int, int)'

53 | if (!http->connect(host, port, HTTP_TIMEOUT*1000,1)) { | ^

In file included from C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecure.h:23,

             from D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\http.h:39,

             from D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\http.cpp:29:

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:243:9: note: candidate: 'virtual int BearSSL::WiFiClientSecure::connect(IPAddress, uint16_t)'

243 | int connect(IPAddress ip, uint16_t port) override { return _ctx->connect(ip, port); }

  |         ^~~~~~~

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:243:9: note: candidate expects 2 arguments, 4 provided

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:244:9: note: candidate: 'virtual int BearSSL::WiFiClientSecure::connect(const String&, uint16_t)'

244 | int connect(const String& host, uint16_t port) override { return _ctx->connect(host, port); }

  |         ^~~~~~~

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:244:9: note: candidate expects 2 arguments, 4 provided

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:245:9: note: candidate: 'virtual int BearSSL::WiFiClientSecure::connect(const char*, uint16_t)'

245 | int connect(const char* name, uint16_t port) override { return _ctx->connect(name, port); }

  |         ^~~~~~~

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:245:9: note: candidate expects 2 arguments, 4 provided

http.cpp:60:29: error: 'class BearSSL::WiFiClientSecure' has no member named 'verify'

60 | if (!fingerprint || http->verify(fingerprint, host)) {

  |                             ^~~~~~

http.cpp:72:7: error: 'feedLoopWDT' was not declared in this scope

72 | feedLoopWDT();

  |       ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void startAP()':

wifi.cpp:115:3: error: 'feedLoopWDT' was not declared in this scope

115 | feedLoopWDT();

  |   ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void startClient()':

wifi.cpp:146:3: error: 'feedLoopWDT' was not declared in this scope

146 | feedLoopWDT();

  |   ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_loop()':

wifi.cpp:483:13: error: 'feedLoopWDT' was not declared in this scope

483 | feedLoopWDT();

  |             ^~~~~~~~~~~

wifi.cpp:496:7: error: 'feedLoopWDT' was not declared in this scope

496 | feedLoopWDT();

  |       ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\ota.cpp: In function 'void ota_loop()':

ota.cpp:63:3: error: 'feedLoopWDT' was not declared in this scope

63 | feedLoopWDT();

  |   ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\ota.cpp: In function 't_httpUpdate_return ota_http_update()':

ota.cpp:78:120: error: no matching function for call to 'ESP8266HTTPUpdate::update(String)'

78 | t_httpUpdate_return ret = ESPhttpUpdate.update("http://" + String(u_host) + String(u_url) + "?tag=" + currentfirmware);

  |                                                                                                                        ^

In file included from D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\ota.h:42,

             from D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\ota.cpp:30:

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:114:25: note: candidate: 't_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, const String&)'

114 | t_httpUpdate_return update(WiFiClient& client, const String& url, const String& currentVersion = "");

  |                         ^~~~~~

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:114:25: note: candidate expects 3 arguments, 1 provided

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:115:25: note: candidate: 't_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, uint16_t, const String&, const String&)'

115 | t_httpUpdate_return update(WiFiClient& client, const String& host, uint16_t port, const String& uri = "/",

  |                         ^~~~~~

C:\Users\ANC\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266httpUpdate\src/ESP8266httpUpdate.h:115:25: note: candidate expects 5 arguments, 1 provided

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\src.ino: In function 'void setup()':

src:59:3: error: 'enableLoopWDT' was not declared in this scope

59 | enableLoopWDT();

  |   ^~~~~~~~~~~~~

src:86:3: error: 'feedLoopWDT' was not declared in this scope

86 | feedLoopWDT();

  |   ^~~~~~~~~~~

D:\ANC\ProyectosElectronica\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\src.ino: In function 'void loop()':

src:108:3: error: 'feedLoopWDT' was not declared in this scope

108 | feedLoopWDT();

  |   ^~~~~~~~~~~

exit status 1

no matching function for call to 'BearSSL::WiFiClientSecure::connect(const char*&, int&, int, int)'

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

I would appreciate if someone could help me with this. I am an amateur in this topics. Best regards Alberto

albnar commented 2 years ago

Compiling problem solved reinstalling everything: arduino IDE, libraries and packages for ESP32 using git-desktop. Now I hace a rebooting problem. I will post it