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…
Reference in New Issue
Block a user