#include #include "esp_log.h" #include "esp_pm.h" #include "esp_system.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "nvs.h" #include "nvs_flash.h" #include "sdkconfig.h" #include "soc/gpio_num.h" #include "esp_event.h" #include "types.hpp" #include "led.hpp" #include "network.hpp" static const char *TAG = "ClientMain"; extern "C" void app_main() { ESP_LOGI(TAG, "Hello, Calendink Client!"); // Initialize NVS (required for some Wi-Fi configurations and network features) esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } ESP_ERROR_CHECK(ret); ESP_ERROR_CHECK(esp_event_loop_create_default()); setup_led(); ESP_LOGI(TAG, "LED setup complete"); vTaskDelay(pdMS_TO_TICKS(1000)); ESP_LOGI(TAG, "LED blink 4"); led_blink_number(4, 255,255,255); vTaskDelay(pdMS_TO_TICKS(1000)); ESP_LOGI(TAG, "LED blink 2"); led_blink_number(2, 255,255,255); turn_off_led(); ESP_LOGI(TAG, "LED blink complete"); vTaskDelay(pdMS_TO_TICKS(1000)); // Connect to WiFi // ESP_LOGI(TAG, "Initializing WiFi connection"); // // Attempting to connect, we don't necessarily need to block forever here // // as network.cpp already handles some of the retries // esp_err_t err = connect_wifi(CONFIG_CALENDINK_WIFI_SSID, CONFIG_CALENDINK_WIFI_PASSWORD, false); // if (err == ESP_OK) { // uint8_t retries = 1; // do { // err = check_wifi_connection(retries); // if (err != ESP_OK) { // ESP_LOGW(TAG, "WiFi connection check timeout, retrying... (%d)", retries); // vTaskDelay(pdMS_TO_TICKS(1000)); // } // retries++; // } while (err == ESP_ERR_TIMEOUT && retries <= CONFIG_CALENDINK_WIFI_RETRIES); // } // if (err == ESP_OK) { // ESP_LOGI(TAG, "Successfully connected to WiFi!"); // } else { // ESP_LOGE(TAG, "Failed to connect to WiFi."); // } while (true) { vTaskDelay(pdMS_TO_TICKS(1000)); } }