main/co2meter.c

changeset 11
e33f2d325d15
parent 9
a85995941d0d
child 13
7de246feba5f
equal deleted inserted replaced
10:d08c7466bb40 11:e33f2d325d15
36 extern SemaphoreHandle_t xSemaphoreUnits; ///< Units lock semaphore 36 extern SemaphoreHandle_t xSemaphoreUnits; ///< Units lock semaphore
37 extern DS18B20_State *ds18b20_state; ///< DS18B20 state 37 extern DS18B20_State *ds18b20_state; ///< DS18B20 state
38 extern SemaphoreHandle_t xSemaphoreDS18B20; ///< DS18B20 lock semaphore 38 extern SemaphoreHandle_t xSemaphoreDS18B20; ///< DS18B20 lock semaphore
39 extern ADC_State *adc_state; ///< ADC state 39 extern ADC_State *adc_state; ///< ADC state
40 extern SemaphoreHandle_t xSemaphoreADC; ///< ADC lock semaphore 40 extern SemaphoreHandle_t xSemaphoreADC; ///< ADC lock semaphore
41 extern int count_pub;
41 42
42 43
43 void app_main() 44 void app_main()
44 { 45 {
45 struct timeval now; 46 struct timeval now;
326 case MAIN_LOOP1_SEND: 327 case MAIN_LOOP1_SEND:
327 ESP_LOGI(TAG, "Loop timer: Send MQTT"); 328 ESP_LOGI(TAG, "Loop timer: Send MQTT");
328 publishNode(); 329 publishNode();
329 publishUnits(); 330 publishUnits();
330 publishLogs(); 331 publishLogs();
331 332 Main_Loop1 = MAIN_LOOP1_WAITACK;
332 Main_Loop1 = MAIN_LOOP1_MQTT_DISCONNECT;
333 break; 333 break;
334 334
335 case MAIN_LOOP1_WAITACK: 335 case MAIN_LOOP1_WAITACK:
336 if (count_pub == 0) // Wait until all published messages are sent.
337 Main_Loop1 = MAIN_LOOP1_MQTT_DISCONNECT;
336 break; 338 break;
337 339
338 case MAIN_LOOP1_MQTT_DISCONNECT: 340 case MAIN_LOOP1_MQTT_DISCONNECT:
339 ESP_LOGI(TAG, "Loop timer: Disconnect MQTT"); 341 ESP_LOGI(TAG, "Loop timer: Disconnect MQTT");
340 connect_mqtt(false); 342 connect_mqtt(false); // Doesn't really disconnect.
341 Main_Loop1 = MAIN_LOOP1_DISCONNECT; 343 Main_Loop1 = MAIN_LOOP1_DISCONNECT;
342 break; 344 break;
343 345
344 case MAIN_LOOP1_DISCONNECT: 346 case MAIN_LOOP1_DISCONNECT:
345 if (! ready_mqtt()) { 347 if (! ready_mqtt()) {

mercurial