From 4658da4adb230b444b10eb85ce14c8a07bdaae89 Mon Sep 17 00:00:00 2001 From: Marc Pasteur Date: Tue, 24 Feb 2026 15:25:10 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20temp=20int=C3=A9rieure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/domotic_display/ihm.c | 9 ++--- components/eventsManager/eventsManager.c | 14 ++++++++ .../eventsManager/include/eventsManager.h | 3 +- main/main.c | 35 ++++++++----------- 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/components/domotic_display/ihm.c b/components/domotic_display/ihm.c index d8f25c0..b31bb44 100644 --- a/components/domotic_display/ihm.c +++ b/components/domotic_display/ihm.c @@ -119,7 +119,8 @@ void draw_tempExt(char * tempHumid){ void draw_temp(char * tempHumid){ //if(display_lock("draw_temp")){ - lv_label_set_text(lblTempInt,tempHumid); + lv_label_set_text_fmt(lblTempInt, "\xEE\x86\xB0\xEF\x8B\x8A : %s", tempHumid); + // display_unlock("draw_temp"); //} } @@ -1828,11 +1829,11 @@ void messageCardContent(lv_obj_t *cont_messages) lv_obj_t * subContent = lv_obj_create(info_area); lv_obj_set_flex_flow(subContent, LV_FLEX_FLOW_COLUMN); lv_obj_set_size(subContent, LV_PCT(70), LV_PCT(100)); - lv_obj_t *lblTempInt = lv_label_create(subContent); - lv_label_set_text(lblTempInt, "\xEE\x86\xB0\xEF\x8B\x8A : 21°C"); + lblTempInt = lv_label_create(subContent); + lv_label_set_text(lblTempInt, "\xEE\x86\xB0\xEF\x8B\x8A : --°C"); lv_obj_set_style_text_font(lblTempInt, lv_theme_get_font_large(lblTempInt),0); lblTempExt = lv_label_create(subContent); - lv_label_set_text(lblTempExt, LV_SYMBOL_HOME "\xEF\x8B\x8A : 12°C"); + lv_label_set_text(lblTempExt, LV_SYMBOL_HOME "\xEF\x8B\x8A : --°C"); lv_obj_set_style_text_font(lblTempExt, lv_theme_get_font_large(lblTempExt),0); /*for (size_t i = 0; i < 2; i++) diff --git a/components/eventsManager/eventsManager.c b/components/eventsManager/eventsManager.c index 8b49f10..4422029 100644 --- a/components/eventsManager/eventsManager.c +++ b/components/eventsManager/eventsManager.c @@ -125,6 +125,20 @@ void send_event(domo_events evt, void* pDatas) { ihmEvt->bNeedToFreeData = true; break; + case EVT_TEMP_INT: + const char *msg4 = (const char *)pDatas; + char *msg_copy4 = malloc(strlen(msg4) + 1); + if (!msg_copy4) { + ESP_LOGE(TAG, "malloc failed for message string"); + free(ihmEvt); + return; + } + strcpy(msg_copy4, msg4); + ihmEvt->eEventType = IHM_EVT_HUMID_TEMP; + ihmEvt->pvData = msg_copy4; + ihmEvt->bNeedToFreeData = true; + break; + case EVT_HAUTEUR_CUVE: { float *data = malloc(sizeof(float)); if (!data) { diff --git a/components/eventsManager/include/eventsManager.h b/components/eventsManager/include/eventsManager.h index 7db86e6..9aca7d2 100644 --- a/components/eventsManager/include/eventsManager.h +++ b/components/eventsManager/include/eventsManager.h @@ -33,7 +33,8 @@ typedef enum domo_events{ EVT_ETAT_MACHINE, EVT_HAUTEUR_CUVE, EVT_METEO_RECUE, - EVT_TEMP_EXT + EVT_TEMP_EXT, + EVT_TEMP_INT } domo_events; void startEvtManager(); QueueHandle_t getIHMQueueHandle(); diff --git a/main/main.c b/main/main.c index 228b89a..41d37dd 100644 --- a/main/main.c +++ b/main/main.c @@ -31,13 +31,13 @@ #include "include/communication.h" #include "stateManagement.h" //#include "driver/gpio.h" -//#include "am2302_rmt.h" #include "eventsManager.h" #include "esp_timer.h" #include +#include "am2302_rmt.h" // GPIO assignment #define AM2302_GPIO 4 @@ -483,11 +483,11 @@ ota_end: } */} -//am2302_handle_t sensor = NULL; +am2302_handle_t sensor = NULL; void readTempHumid(void *pvParameter) { -/* float temperature = 0; + float temperature = 0; float humidity = 0; while (1) { @@ -495,14 +495,9 @@ void readTempHumid(void *pvParameter) char buff[40]; ESP_LOGI(TAG, "Temperature: %.1f °C, Humidity: %.1f %%", temperature, humidity); sprintf(buff,"%.1f °C, %.1f %%", temperature, humidity); - xIHMEvent_t m = { - .eEventType = IHM_EVT_HUMID_TEMP, - .pvData = buff - }; - //xQueueSendToFront(ihm_queue,&m,5); + send_event(EVT_TEMP_INT, buff); vTaskDelay(60000 / portTICK_PERIOD_MS); - } - */ + } } void alloc_fail(size_t size, uint32_t caps, const char * function_name){ @@ -906,6 +901,15 @@ void app_main(void) { ESP_LOGE(TAG, "Impossiblke de creer la tache imageDownload_task %i", ret1); }*/ + // Configuration de la sonde Temp/Humid. + am2302_config_t am2302_config = { + .gpio_num = AM2302_GPIO, + }; + am2302_rmt_config_t rmt_config = { + .clk_src = RMT_CLK_SRC_DEFAULT, + }; + ESP_ERROR_CHECK(am2302_new_sensor_rmt(&am2302_config, &rmt_config, &sensor)); + xTaskCreate(&readTempHumid, "read_temp_task", 8192, NULL, 5, NULL); } @@ -1033,14 +1037,5 @@ void app_main1(void) start_webserver(); -/* // Configuration de la sonde Temp/Humid. - am2302_config_t am2302_config = { - .gpio_num = AM2302_GPIO, - }; - am2302_rmt_config_t rmt_config = { - .clk_src = RMT_CLK_SRC_DEFAULT, - }; - ESP_ERROR_CHECK(am2302_new_sensor_rmt(&am2302_config, &rmt_config, &sensor)); - xTaskCreate(&readTempHumid, "read_temp_task", 8192, NULL, 5, NULL); - */ + }