#include #include "esp_log.h" #include "driver/i2c.h" #include #include #include #include #include #include #include #include #include "freertos/timers.h" #include "nvs_flash.h" #include "safety.h" #include "metrics.h" #include "outputs.h" #include "inputs.h" #include "control.h" #define I2C_MASTER_SCL 19 #define I2C_MASTER_SDA 18 static const char *TAG = "smart-oil-heater-control-system"; void app_main(void) { ESP_LOGI(TAG, "starting ..."); // 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); // TODO: Error handling! initOutputs(); initInputs(); initSafety(); initControl(); initMetrics(); while (1) { vTaskDelay(pdMS_TO_TICKS(2048)); } }