Why is my ESP32 task not logging when Wi-Fi is disconnected, but Wi-Fi retry logs are showing up?
Posted: Sat Jan 04, 2025 10:47 am
I'm working with an ESP32, and I have a task that publishes data to the cloud. When the Wi-Fi is disconnected, the wifi_event_handler keeps retrying to connect, and I can see the retry logs on the monitor. However, the task publish_data_to_cloud does not log anything to the monitor when the Wi-Fi is disconnected.
Here is the relevant code for the Wi-Fi event handler:
And I'm creating the task as follows:
The issue is:
The Wi-Fi retry logs are printing as expected.
The publish_data_to_cloud task doesn't log anything when Wi-Fi is disconnected.
I believe the task should run regardless of the Wi-Fi connection status, but it's not logging when the Wi-Fi is down. Is there something I'm missing? What could cause this issue, and how can I fix it so that the task logs even when Wi-Fi is disconnected?
Any help would be appreciated!
Here is the relevant code for the Wi-Fi event handler:
Code: Select all
void wifi_event_handler(void *arg, esp_event_base_t event_base,
int32_t event_id, void *event_data)
{
if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED)
{
if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY)
{
esp_wifi_connect();
s_retry_num++;
ESP_LOGI("sta....", "retry to connect to the AP");
}
else
{
esp_wifi_disconnect();
esp_wifi_connect();
s_retry_num = 0;
}
is_wifi = false;
ESP_LOGI(TAG, "is_wifi: %d", is_wifi);
}
// Other event cases...
}
Code: Select all
xTaskCreate(publish_data_to_cloud, "publish_data_to_cloud", 8192, &ucParameterToPass, 1, NULL);
The Wi-Fi retry logs are printing as expected.
The publish_data_to_cloud task doesn't log anything when Wi-Fi is disconnected.
I believe the task should run regardless of the Wi-Fi connection status, but it's not logging when the Wi-Fi is down. Is there something I'm missing? What could cause this issue, and how can I fix it so that the task logs even when Wi-Fi is disconnected?
Any help would be appreciated!