137 xSemaphoreUnits = xSemaphoreCreateMutex(); |
135 xSemaphoreUnits = xSemaphoreCreateMutex(); |
138 |
136 |
139 xTaskCreate(&task_user, "task_user", 4096, NULL,10, &xTaskUser); |
137 xTaskCreate(&task_user, "task_user", 4096, NULL,10, &xTaskUser); |
140 xTaskCreate(&task_ds18b20, "task_ds18b20", 2560, NULL, 8, &xTaskDS18B20); |
138 xTaskCreate(&task_ds18b20, "task_ds18b20", 2560, NULL, 8, &xTaskDS18B20); |
141 xTaskCreate(&task_adc, "task_adc", 2560, NULL, 8, &xTaskADC); |
139 xTaskCreate(&task_adc, "task_adc", 2560, NULL, 8, &xTaskADC); |
142 // esp_log_level_set("MQTT_CLIENT", ESP_LOG_ERROR); |
|
143 xTaskCreate(&task_mqtt, "task_mqtt", 4096, NULL, 5, &xTaskMQTT); |
140 xTaskCreate(&task_mqtt, "task_mqtt", 4096, NULL, 5, &xTaskMQTT); |
144 esp_log_level_set("wifi", ESP_LOG_ERROR); |
141 esp_log_level_set("wifi", ESP_LOG_ERROR); |
145 xTaskCreate(&task_wifi, "task_wifi", 4096, NULL, 3, &xTaskWifi); |
142 xTaskCreate(&task_wifi, "task_wifi", 4096, NULL, 3, &xTaskWifi); |
146 |
143 |
147 int wait = 150; |
144 int wait = 150; |
261 xSemaphoreGive(xSemaphoreUnits); |
258 xSemaphoreGive(xSemaphoreUnits); |
262 } else { |
259 } else { |
263 ESP_LOGE(TAG, "ML1_MQTT_CONNECT write_units lock error"); |
260 ESP_LOGE(TAG, "ML1_MQTT_CONNECT write_units lock error"); |
264 } |
261 } |
265 user_refresh(); |
262 user_refresh(); |
266 ESP_LOGI(TAG, "Loop => ML1_MQTT_WAITCON"); |
263 ESP_LOGD(TAG, "Loop => ML1_MQTT_WAITCON"); |
267 } |
264 } |
268 break; |
265 break; |
269 |
266 |
270 case ML1_WAITCON: |
267 case ML1_WAITCON: |
271 if (ready_mqtt()) { |
268 if (ready_mqtt()) { |
272 Main_Loop1 = ML1_SEND; |
269 Main_Loop1 = ML1_SEND; |
273 ESP_LOGI(TAG, "Loop => ML1_SEND"); |
270 ESP_LOGD(TAG, "Loop => ML1_SEND"); |
274 } |
271 } |
275 break; |
272 break; |
276 |
273 |
277 case ML1_SEND: |
274 case ML1_SEND: |
278 publishNode(); |
275 publishNode(); |
279 publishUnits(); |
276 publishUnits(); |
280 publishLogs(); |
277 publishLogs(); |
281 Main_Loop1 = ML1_WAITACK; |
278 Main_Loop1 = ML1_WAITACK; |
282 ESP_LOGI(TAG, "Loop => ML1_WAITACK"); |
279 ESP_LOGD(TAG, "Loop => ML1_WAITACK"); |
283 break; |
280 break; |
284 |
281 |
285 case ML1_WAITACK: |
282 case ML1_WAITACK: |
286 if (count_pub == 0) { // Wait until all published messages are sent. |
283 if (count_pub == 0) { // Wait until all published messages are sent. |
287 status_WiFi(); |
284 status_WiFi(); |
288 ESP_LOGD(TAG, "Main loop: Done, user busy: %s", user_busy() ? "true":"false"); |
285 ESP_LOGD(TAG, "Main loop: Done, user busy: %s", user_busy() ? "true":"false"); |
289 Main_Loop1 = ML1_STATUS; |
286 Main_Loop1 = ML1_STATUS; |
290 user_refresh(); |
287 user_refresh(); |
291 ESP_LOGI(TAG, "Loop => ML1_STATUS"); |
288 ESP_LOGD(TAG, "Loop => ML1_STATUS"); |
292 } |
289 } |
293 break; |
290 break; |
294 |
291 |
295 case ML1_STATUS: |
292 case ML1_STATUS: |
296 /* |
293 /* |
300 scan_WiFi(); |
297 scan_WiFi(); |
301 Main_Loop1 = ML1_SCAN; |
298 Main_Loop1 = ML1_SCAN; |
302 ESP_LOGI(TAG, "Loop => ML1_SCAN"); |
299 ESP_LOGI(TAG, "Loop => ML1_SCAN"); |
303 } else { |
300 } else { |
304 Main_Loop1 = ML1_DONE; |
301 Main_Loop1 = ML1_DONE; |
305 ESP_LOGI(TAG, "Loop => ML1_DONE"); |
302 ESP_LOGD(TAG, "Loop => ML1_DONE"); |
306 } |
303 } |
307 break; |
304 break; |
308 |
305 |
309 case ML1_SCAN: |
306 case ML1_SCAN: |
310 if (_wifi_ScanDone == true) { |
307 if (_wifi_ScanDone == true) { |
311 Main_Loop1 = ML1_DONE; |
308 Main_Loop1 = ML1_DONE; |
312 ESP_LOGI(TAG, "Loop => ML1_DONE"); |
309 ESP_LOGD(TAG, "Loop => ML1_DONE"); |
313 } |
310 } |
314 break; |
311 break; |
315 |
312 |
316 case ML1_DONE: |
313 case ML1_DONE: |
317 /* Wait here until the timer resets the loop */ |
314 /* Wait here until the timer resets the loop */ |