fix issue with STA emiting the wrong event
This commit is contained in:
		
							parent
							
								
									dde5e297c3
								
							
						
					
					
						commit
						8332a235d6
					
				| @ -313,8 +313,12 @@ esp_err_t WiFiGenericClass::_eventCallback(void *arg, system_event_t *event) | ||||
|         WiFiSTAClass::_setStatus(WL_DISCONNECTED); | ||||
|     } else if(event->event_id == SYSTEM_EVENT_STA_STOP) { | ||||
|         WiFiSTAClass::_setStatus(WL_NO_SHIELD); | ||||
|     } else if(event->event_id == SYSTEM_EVENT_STA_CONNECTED) { | ||||
|         WiFiSTAClass::_setStatus(WL_IDLE_STATUS); | ||||
|     } else if(event->event_id == SYSTEM_EVENT_STA_GOT_IP) { | ||||
|         WiFiSTAClass::_setStatus(WL_CONNECTED); | ||||
|         if(WiFiSTAClass::status() == WL_IDLE_STATUS) { | ||||
|             WiFiSTAClass::_setStatus(WL_CONNECTED); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     for(uint32_t i = 0; i < cbEventList.size(); i++) { | ||||
|  | ||||
| @ -358,7 +358,7 @@ uint8_t WiFiSTAClass::waitForConnectResult() | ||||
|         return WL_DISCONNECTED; | ||||
|     } | ||||
|     int i = 0; | ||||
|     while(status() >= WL_DISCONNECTED && i++ < 100) { | ||||
|     while((!status() || status() >= WL_DISCONNECTED) && i++ < 100) { | ||||
|         delay(100); | ||||
|     } | ||||
|     return status(); | ||||
|  | ||||
| @ -72,7 +72,7 @@ public: | ||||
|     bool setHostname(const char * hostname); | ||||
| 
 | ||||
|     // STA WiFi info
 | ||||
|     wl_status_t status(); | ||||
|     static wl_status_t status(); | ||||
|     String SSID() const; | ||||
|     String psk() const; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user