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