Open bkrajendra opened 3 years ago
What esp32 lib version?
The arguments were changed for events in new idf, The S2 branch should have a fix already
Yes. Got it working using S2 branch. But still not showing of AP. Need to test more. will get back once I get enough testing.
For me, the fix was to revert to version 1.0.6 of the esp32 board package rather than trying to use 2.0.0.
Can you test the S2 branch, I am about to merge it when I know its not breaking anything, should work for all sdk versions
I can try. Is there a way to get a git clone (with a particular branch checked out) in the Arduino IDE?
Yes of course, but it can be a pain, dont worry about it then.
Hi Gentleman,
i have the same problem
Os : MacOs 12.0.1
Arduino IDE : 1.8.16
ESP Library 2.0.0 (test but niet)
ESP Library : DFRobot (test but niet)
ESP : Firebeetle ESP32-E
Error :
iFiManager.cpp: In member function 'void WiFiManager::WiFiEvent(arduino_event_id_t, system_event_info_t)':
/Users/cgironde/Documents/Arduino/libraries/WiFiManager/WiFiManager.cpp:3505:17: warning: comparison between 'enum arduino_event_id_t' and 'enum system_event_id_t' [-Wenum-compare]
if(event == SYSTEM_EVENT_STA_DISCONNECTED){
^~~~~~~~~
King Regards
I have the issue when trying to compile mainlessmesh on an ESP32S2 dev boartd . The wifi.h complains
In file included from C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/painlessMesh.h:22,
from C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\examples\basic\basic.ino:9:
C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/arduino/wifi.hpp: In member function 'void painlessmesh::wifi::Mesh::eventHandleInit()':
C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/arduino/wifi.hpp:251:22: error: 'SYSTEM_EVENT_SCAN_DONE' is not a member of 'arduino_event_id_t'
WiFiEvent_t::SYSTEM_EVENT_SCAN_DONE);
^~~~~~
C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/arduino/wifi.hpp:260:22: error: 'SYSTEM_EVENT_STA_START' is not a member of 'arduino_event_id_t'
WiFiEvent_t::SYSTEM_EVENT_STA_START);
^~~~~~
C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/arduino/wifi.hpp:271:22: error: 'SYSTEM_EVENT_STA_DISCONNECTED' is not a member of 'arduino_event_id_t'
WiFiEvent_t::SYSTEM_EVENT_STA_DISCONNECTED);
^~~~~~~~~
C:\Users\ccadic\Documents\Arduino\libraries\Painless_Mesh\src/arduino/wifi.hpp:281:22: error: 'SYSTEM_EVENT_STA_GOT_IP' is not a member of 'arduino_event_id_t'
WiFiEvent_t::SYSTEM_EVENT_STA_GOT_IP);
^~~~~~~
are you using latest git? should be fixed in master, ill push a beta right now
yes. latest Painless_Mesh (yesterday's version) latest arduino IDE (yersterday's stable version). Looks like the issue is in wifi. shall I load the wifimanager from this git ?
I just pushed v2.0.5-beta
Using WiFi events,
WiFi.onEvent(WiFiConnected, SYSTEM_EVENT_STA_CONNECTED);
WiFi.onEvent(WiFiGotIP, SYSTEM_EVENT_STA_GOT_IP);
WiFi.onEvent(WiFiLostIP, SYSTEM_EVENT_STA_LOST_IP);
WiFi.onEvent(WiFiDisconnected, SYSTEM_EVENT_STA_DISCONNECTED);
Working on version 1.0.6
Get this on version 2.0.1
no matching function for call to 'WiFiClass::onEvent(void (&)(arduino_event_id_t, arduino_event_info_t), system_event_id_t)'
Do I just use 1.0.6 until fixed? or is there a different method to use wifi events?
Same problem with etnernet:
void ethEvent(WiFiEvent_t event){
if( event == SYSTEM_EVENT_ETH_START ){
ETH.setHostname(hsh_fileSystem.config.hostname);
}else if( event == SYSTEM_EVENT_ETH_GOT_IP ){
Serial.printf("\nConnected to Ethernet\n");
Serial.printf("NS - IP:\t%s\n", ETH.localIP().toString().c_str());
Serial.printf("NS - MAC:\t%s\n", ETH.macAddress().c_str());
Serial.printf("NS - Host:\t%s\n", ETH.getHostname());
}else if( event == SYSTEM_EVENT_ETH_DISCONNECTED ){
Serial.println("\nNS - Ethernet disconnected");
}
}
Compiler warnings about comparison between 'enum arduino_event_id_t' and 'enum system_event_id_t'
and crash when got an event interrupt.
Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x40091ff8 PS : 0x00060d33 A0 : 0x80093e34 A1 : 0x3ffdc690
A2 : 0xdf010000 A3 : 0xb33fffff A4 : 0x0000abab A5 : 0x00060d23
A6 : 0x00060d20 A7 : 0x0000cdcd A8 : 0x0000cdcd A9 : 0xffffffff
A10 : 0x3ffe116c A11 : 0x00000004 A12 : 0x00000004 A13 : 0x3ffb9270
A14 : 0x9f810000 A15 : 0x003fffff SAR : 0x00000015 EXCCAUSE: 0x0000001d
EXCVADDR: 0xdf010000 LBEG : 0x40102b08 LEND : 0x40102b4c LCOUNT : 0x0000003c
Backtrace:0x40091ff5:0x3ffdc6900x40093e31:0x3ffdc6d0 0x400940ad:0x3ffdc6f0 0x4008423a:0x3ffdc710 0x400d387a:0x3ffdc740 0x400d5f29:0x3ffdc760 0x400d6434:0x3ffdc800 0x400d6f33:0x3ffdc830
#0 0x40091ff5:0x3ffdc6900 in compare_and_set_native at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_hw_support/include/soc/compare_set.h:25
(inlined by) spinlock_acquire at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_hw_support/include/soc/spinlock.h:103
(inlined by) xPortEnterCriticalTimeout at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port/xtensa/port.c:288
ELF file SHA256: 0000000000000000
Rebooting...
If i replace the system events ( that i used before without problem ) like SYSTEM_EVENT_ETH_START
, SYSTEM_EVENT_ETH_GOT_IP
and SYSTEM_EVENT_ETH_DISCONNECTED
with the new ARDUINO_EVENT_ETH_START
, ARDUINO_EVENT_ETH_GOT_IP
and ARDUINO_EVENT_ETH_DISCONNECTED
i also got a crash but different:
assert failed: spinlock_acquire spinlock.h:122 (result == core_id || result ==
SPINLOCK_FREE)
Backtrace:0x40083e1d:0x3ffdc5500x4008ee6d:0x3ffdc570 0x400944a5:0x3ffdc590 0x4009209f:0x3ffdc6c0 0x40093e31:0x3ffdc700 0x400940ad:0x3ffdc720 0x4008423a:0x3ffdc740 0x400d3872:0x3ffdc770 0x400d5f21:0x3ffdc790 0x400d642c:0x3ffdc830 0x400d6f2b:0x3ffdc860
#0 0x40083e1d:0x3ffdc5500 in panic_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/panic.c:402
ELF file SHA256: 0000000000000000
Rebooting...
There is a check in there to use the correct events, perhaps it is not working on your enviroment? What version of IDf are you using, are you using arduino ?
Hi, about the problem of "onEvent" in the 2.0x framework I found this: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientEvents/WiFiClientEvents.ino Use "ARDUINO_EVENT_WIFI_STA_DISCONNECTED" for the WiFi disconnection event. (Follow the link for the other event). For me it work fine
It was my bad. Iam using arduino esp32 but i used some old version and the spinlock_acquire
crash was about some other part of my program. The new events working fine.
So. I updated the package and the the ETH events but my esp do not get a gotip event sometimes. It looks like when i perform a software restart, only the connection event fires, but not the gotip event. The esp is connected and got an ip however
that sounds like the esp32 double hitter bug
Basic Infos
Hardware
WiFimanager Branch/Release: Master
Esp32:
Hardware: NodeMCUEsp32
Core Version: using latest master from git arduino-esp32
Description
Problem description"
I am getting errors while compiling basic example.
Settings in IDE
Module: NodeMcuESP32
Sketch
The same example compiles ok with esp8266.