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() __attribute__((weak)); | ||||||
| void init() {} | void init() {} | ||||||
| 
 | 
 | ||||||
| void bootWiFi() __attribute__((weak)); | void startWiFi() __attribute__((weak)); | ||||||
| void bootWiFi() {} | void startWiFi() {} | ||||||
|  | 
 | ||||||
|  | void initWiFi() __attribute__((weak)); | ||||||
|  | void initWiFi() {} | ||||||
| 
 | 
 | ||||||
| extern void loop(); | extern void loop(); | ||||||
| extern void setup(); | extern void setup(); | ||||||
| @ -18,7 +21,7 @@ void loopTask(void *pvParameters) | |||||||
|     bool setup_done = false; |     bool setup_done = false; | ||||||
|     for(;;) { |     for(;;) { | ||||||
|         if(!setup_done) { |         if(!setup_done) { | ||||||
|             bootWiFi(); |             startWiFi(); | ||||||
|             setup(); |             setup(); | ||||||
|             setup_done = true; |             setup_done = true; | ||||||
|         } |         } | ||||||
| @ -30,6 +33,7 @@ extern "C" void app_main() | |||||||
| { | { | ||||||
|     init(); |     init(); | ||||||
|     initVariant(); |     initVariant(); | ||||||
|     xTaskCreatePinnedToCore(loopTask, "loopTask", 4096, NULL, 1, NULL, 0); |     initWiFi(); | ||||||
|  |     xTaskCreatePinnedToCore(loopTask, "loopTask", 4096, NULL, 1, NULL, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -286,29 +286,21 @@ void wifi_dns_found_callback(const char *name, const ip_addr_t *ipaddr, void *ca | |||||||
|  * */ |  * */ | ||||||
| #include "nvs_flash.h" | #include "nvs_flash.h" | ||||||
| 
 | 
 | ||||||
| void bootWiFi() | void initWiFi() | ||||||
| { | { | ||||||
|     esp_err_t err; |     wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); | ||||||
|     wifi_init_config_t cfg; |     nvs_flash_init(); | ||||||
|     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; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     system_init(); |     system_init(); | ||||||
|     tcpip_adapter_init(); |     tcpip_adapter_init(); | ||||||
|     esp_event_loop_init(WiFiGenericClass::_eventCallback, NULL); |     esp_event_loop_init(WiFiGenericClass::_eventCallback, NULL); | ||||||
|  |     esp_wifi_init(&cfg); | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|     cfg.event_handler = &esp_event_send; | void startWiFi() | ||||||
|     err = esp_wifi_init(&cfg); | { | ||||||
|     if (err != ESP_OK) { |     esp_err_t err; | ||||||
|         log_e("esp_wifi_init fail %d\n", err); |     wifi_mode_t mode = WIFI_MODE_NULL; | ||||||
|         return; |     bool auto_connect = false; | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     err = esp_wifi_start(); |     err = esp_wifi_start(); | ||||||
|     if (err != ESP_OK) { |     if (err != ESP_OK) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user