On app cpu (#1)
* move loop task to APP CPU * Rework WiFi boot so it works when loop is on APP CPU
This commit is contained in:
		
							parent
							
								
									b89cf412ab
								
							
						
					
					
						commit
						ac19ecf3d5
					
				| @ -7,8 +7,11 @@ void initVariant() {} | ||||
| void init() __attribute__((weak)); | ||||
| void init() {} | ||||
| 
 | ||||
| void bootWiFi() __attribute__((weak)); | ||||
| void bootWiFi() {} | ||||
| void startWiFi() __attribute__((weak)); | ||||
| void startWiFi() {} | ||||
| 
 | ||||
| void initWiFi() __attribute__((weak)); | ||||
| void initWiFi() {} | ||||
| 
 | ||||
| extern void loop(); | ||||
| extern void setup(); | ||||
| @ -18,7 +21,7 @@ void loopTask(void *pvParameters) | ||||
|     bool setup_done = false; | ||||
|     for(;;) { | ||||
|         if(!setup_done) { | ||||
|             bootWiFi(); | ||||
|             startWiFi(); | ||||
|             setup(); | ||||
|             setup_done = true; | ||||
|         } | ||||
| @ -30,6 +33,7 @@ extern "C" void app_main() | ||||
| { | ||||
|     init(); | ||||
|     initVariant(); | ||||
|     xTaskCreatePinnedToCore(loopTask, "loopTask", 4096, NULL, 1, NULL, 0); | ||||
|     initWiFi(); | ||||
|     xTaskCreatePinnedToCore(loopTask, "loopTask", 4096, NULL, 1, NULL, 1); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -286,30 +286,22 @@ void wifi_dns_found_callback(const char *name, const ip_addr_t *ipaddr, void *ca | ||||
|  * */ | ||||
| #include "nvs_flash.h" | ||||
| 
 | ||||
| void bootWiFi() | ||||
| void initWiFi() | ||||
| { | ||||
|     esp_err_t err; | ||||
|     wifi_init_config_t cfg; | ||||
|     wifi_mode_t mode = WIFI_MODE_NULL; | ||||
|     bool auto_connect = false; | ||||
| 
 | ||||
|     err = nvs_flash_init(); | ||||
|     if (err != ESP_OK) { | ||||
|         log_e("nvs_flash_init fail %d", err); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); | ||||
|     nvs_flash_init(); | ||||
|     system_init(); | ||||
|     tcpip_adapter_init(); | ||||
|     esp_event_loop_init(WiFiGenericClass::_eventCallback, NULL); | ||||
| 
 | ||||
|     cfg.event_handler = &esp_event_send; | ||||
|     err = esp_wifi_init(&cfg); | ||||
|     if (err != ESP_OK) { | ||||
|         log_e("esp_wifi_init fail %d\n", err); | ||||
|         return; | ||||
|     esp_wifi_init(&cfg); | ||||
| } | ||||
| 
 | ||||
| void startWiFi() | ||||
| { | ||||
|     esp_err_t err; | ||||
|     wifi_mode_t mode = WIFI_MODE_NULL; | ||||
|     bool auto_connect = false; | ||||
| 
 | ||||
|     err = esp_wifi_start(); | ||||
|     if (err != ESP_OK) { | ||||
|         log_e("esp_wifi_start fail %d\n", err); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user