Ondřej Hruška 2 years ago
parent 5416debc98
commit 1c14d87c75
  1. 6
      main/co2_sensor.c
  2. 5
      main/periph_init.c

@ -69,7 +69,7 @@ void co2_restart(bool restore_calib) {
ESP_LOGI(TAG, "Restarting CO2 sensor");
gpio_set_level(CONFIG_PIN_CO2_EN, 0);
vTaskDelay(pdMS_TO_TICKS(100));
vTaskDelay(pdMS_TO_TICKS(250));
gpio_set_level(CONFIG_PIN_CO2_EN, 1);
vTaskDelay(pdMS_TO_TICKS(50));
@ -97,7 +97,7 @@ void co2_read_task(void *param) {
write_saved_calib_to_sensor();
const uint32_t read_cycle_time_ticks = 10 * 1000;
const uint32_t read_cycle_time_ticks = 1000; //10 * 1000;
const uint32_t calib_persist_time_ticks = 12 * 3600 * 1000;
_Static_assert(configTICK_RATE_HZ == 1000, "1kHz tick");
@ -111,7 +111,7 @@ void co2_read_task(void *param) {
ppm = 0;
vTaskDelay(read_cycle_time_ticks);
if (num_fails > 10) {
if (num_fails > 5) {
ESP_LOGW(TAG, "Too many CO2 fails, restarting sensor");
co2_restart(true);
num_fails = 0;

@ -103,7 +103,10 @@ esp_err_t periph_init() {
}
gpio_set_level(CONFIG_PIN_CO2_COMSEL, 1); // low=I2C
gpio_set_level(CONFIG_PIN_CO2_EN, 1); // active high
gpio_set_level(CONFIG_PIN_CO2_EN, 0);
vTaskDelay(pdMS_TO_TICKS(250));
gpio_set_level(CONFIG_PIN_CO2_EN, 1);
}
// input

Loading…
Cancel
Save