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:
Me No Dev 2016-10-06 18:16:00 +03:00 committed by GitHub
parent b89cf412ab
commit ac19ecf3d5
2 changed files with 18 additions and 22 deletions

View File

@ -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);
}

View File

@ -286,29 +286,21 @@ 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);
esp_wifi_init(&cfg);
}
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;
}
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) {