#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" #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); initOutputs(); initInputs(); initSafety(); initMetrics(); /*TODO: will be done by safety on the future*/ setCirculationPumpState(DISABLED); setBurnerState(DISABLED); ESP_LOGI(TAG, "running main loop now"); while (1) { vTaskDelay(pdMS_TO_TICKS(2048)); /* if (getBurnerError() == FAULT) { ESP_LOGI(TAG, "Burner FAULT"); } else { ESP_LOGI(TAG, "Burner OK"); } setCirculationPumpState(ENABLED); setBurnerState(ENABLED); if (getBurnerState() == ENABLED) { ESP_LOGI(TAG, "Burner ENABLED"); } else { ESP_LOGI(TAG, "Burner DISABLED"); } if (getCirculationPumpState() == ENABLED) { ESP_LOGI(TAG, "CirculationPump ENABLED"); } else { ESP_LOGI(TAG, "CirculationPump DISABLED"); } ESP_LOGI(TAG,"\n"); vTaskDelay(pdMS_TO_TICKS(2000)); setCirculationPumpState(DISABLED); setBurnerState(DISABLED); if (getBurnerState() == ENABLED) { ESP_LOGI(TAG, "Burner ENABLED"); } else { ESP_LOGI(TAG, "Burner DISABLED"); } if (getCirculationPumpState() == ENABLED) { ESP_LOGI(TAG, "CirculationPump ENABLED"); } else { ESP_LOGI(TAG, "CirculationPump DISABLED"); } */ } }