#include #include #include #include #include #include #include #include "application.h" #include "system_info.h" #define TAG "main" // 新增禁用日志配置(生产环境) // 重定向printf到空函数,彻底禁用所有输出 新增禁用日志配置 // // =======================禁用日志参输出============================= // extern "C" { // int printf(const char* format, ...) { return 0; } // int puts(const char* s) { return 0; } // int putchar(int c) { return c; } // size_t fwrite(const void* ptr, size_t size, size_t count, FILE* stream) { return size * count; } // } // // ================================================================ extern "C" void app_main(void) { // // 新增禁用日志配置(生产环境) // // // 新增禁用日志配置(生产环境) // // // ==================================================================================================== // //全局禁用所有日志输出 - 必须在最开始就设置 // esp_log_level_set("*", ESP_LOG_NONE); // 全局禁用所有日志 // //特别禁用可能的残留日志组件 // esp_log_level_set("coexist", ESP_LOG_NONE); // esp_log_level_set("main_task", ESP_LOG_NONE); // esp_log_level_set("MC Quantized wakenet9", ESP_LOG_NONE); // esp_log_level_set("wakenet", ESP_LOG_NONE); // esp_log_level_set("esp_netif_lwip", ESP_LOG_NONE); // esp_log_level_set("wifi", ESP_LOG_NONE); // esp_log_level_set("phy_init", ESP_LOG_NONE); // esp_log_level_set("system_api", ESP_LOG_NONE); // esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_NONE); // 生产环境:屏蔽MovecallMojiESP32S3板级日志 // //esp_log_level_set("MovecallMojiESP32S3", ESP_LOG_INFO); // 启用MovecallMojiESP32S3板级日志以支持触摸检测 // esp_log_level_set("WiFiMAC", ESP_LOG_INFO); // 仅允许WiFiMAC组件的INFO级别日志(Wi-Fi MAC地址) // //esp_log_level_set("Airhub", ESP_LOG_INFO); // 仅允许Airhub组件的INFO级别日志(生产测试日志) // // ======================================================================================================= // 增加姿态传感器日志打印 esp_log_level_set("Airhub", ESP_LOG_DEBUG); // 看到运动检测日志 esp_log_level_set("Airhub", ESP_LOG_VERBOSE); // 看到详细数据日志 // 屏蔽AFE模块的警告日志 esp_log_level_set("AFE", ESP_LOG_ERROR); // Initialize the default event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); // Initialize network interface (必须在WiFi初始化之前) ESP_ERROR_CHECK(esp_netif_init()); // 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_LOGW(TAG, "Erasing NVS flash to fix corruption"); ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } ESP_ERROR_CHECK(ret); // Launch the application Application::GetInstance().Start(); // The main thread will exit and release the stack memory }