// // Protofusion ESP32S3 Template // #include #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/event_groups.h" #include "esp_system.h" #include "esp_event.h" #include "esp_log.h" #include "flash.h" #include "sdkconfig.h" #include "osc_control.h" #include "wifi.h" // #include "usb_cdc.h" #include "can.h" #include "display.h" #include "squeeze.h" #include "ledstrip.h" #include "display_gui.h" // Private variables static const char *TAG = "main"; // Application entry point void app_main(void) { // Initialize usb-cdc interface // usb_cdc_init(); // Initialize NVS // 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); flash_init(); int32_t cnt = flash_read("count"); cnt += 1; flash_write("count", cnt); // Initialize display display_init(); display_gui_homescreen(); // Connect to wifi wifi_init(); ledstrip_init(); // Initialize squeeze sensing for bucket only if(flash_get_runtime() == RUNTIME_BUCKET) squeeze_init(); // Initialize OSC osc_init(); // Initialize canbus //can_init(); // Start tasks xTaskCreatePinnedToCore(ledstrip_refresh, "ledstrip_refresh", 4096, NULL, 10, NULL, 1); xTaskCreatePinnedToCore(display_gui_process, "display_gui_process", 4096, NULL, 10, NULL, 1); while(1) { // ESP_LOGI(TAG, "cnt=%ld\n", cnt); vTaskDelay(pdMS_TO_TICKS(100)); } }