#include #include #include #include #include #include #include "Application.h" #include "SystemInfo.h" #include "SystemReset.h" #define TAG "main" extern "C" void app_main(void) { // Check if the reset button is pressed SystemReset::GetInstance().CheckButtons(); // Initialize the default event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); // Initialize NVS flash for WiFi configuration 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); // Otherwise, launch the application Application::GetInstance().Start(); // Dump CPU usage every 10 second while (true) { vTaskDelay(10000 / portTICK_PERIOD_MS); // SystemInfo::PrintRealTimeStats(pdMS_TO_TICKS(1000)); int free_sram = heap_caps_get_free_size(MALLOC_CAP_INTERNAL); int min_free_sram = heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL); ESP_LOGI(TAG, "Free internal: %u minimal internal: %u", free_sram, min_free_sram); } }