From cae14e9234752964185334182b925941af8b81af Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Tue, 21 Dec 2021 21:26:42 -0300 Subject: [PATCH 1/3] Fixes Lib Builder compiling errors --- cores/esp32/esp32-hal-rmt.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/cores/esp32/esp32-hal-rmt.c b/cores/esp32/esp32-hal-rmt.c index 3cee1e695e9..14b90902d89 100644 --- a/cores/esp32/esp32-hal-rmt.c +++ b/cores/esp32/esp32-hal-rmt.c @@ -124,10 +124,6 @@ static rmt_obj_t g_rmt_objects[MAX_CHANNELS] = { /** * Internal variables for driver data */ -static intr_handle_t intr_handle; - -static bool periph_enabled = false; - static xSemaphoreHandle g_rmt_block_lock = NULL; /** @@ -390,7 +386,6 @@ bool rmtReadData(rmt_obj_t* rmt, uint32_t* data, size_t size) if (!rmt) { return false; } - int channel = rmt->channel; rmtReadAsync(rmt, (rmt_data_t*) data, size, NULL, false, 0); return true; @@ -492,7 +487,7 @@ bool rmtReadAsync(rmt_obj_t* rmt, rmt_data_t* data, size_t size, void* eventFlag // wait for data if requested so if (waitForData && eventFlag) { - uint32_t flags = xEventGroupWaitBits(eventFlag, RMT_FLAGS_ALL, + xEventGroupWaitBits(eventFlag, RMT_FLAGS_ALL, pdTRUE /* clear on exit */, pdFALSE /* wait for all bits */, timeout); } return true; @@ -541,6 +536,7 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) ch_end = RMT_RX_CH_END; } for (i=ch_start; i<=ch_end; i++) { + j = 0; // fixes compiling option -Werror=maybe-uninitialized for (j=0; j Date: Tue, 21 Dec 2021 22:27:54 -0300 Subject: [PATCH 2/3] Fixes Lib Builder compiling errors --- cores/esp32/esp32-hal-rmt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cores/esp32/esp32-hal-rmt.c b/cores/esp32/esp32-hal-rmt.c index 14b90902d89..9eb09404824 100644 --- a/cores/esp32/esp32-hal-rmt.c +++ b/cores/esp32/esp32-hal-rmt.c @@ -184,21 +184,21 @@ static void _rmtRxTask(void *args) { rmt_item32_t *data = NULL; if (!rmt) { - log_e(" -- Inavalid Argument \n"); + log_e(" -- Inavalid Argument"); goto err; } int channel = rmt->channel; rmt_get_ringbuf_handle(channel, &rb); if (!rb) { - log_e(" -- Failed to get RMT ringbuffer handle\n"); + log_e(" -- Failed to get RMT ringbuffer handle"); goto err; } for(;;) { data = (rmt_item32_t *) xRingbufferReceive(rb, &rmt_len, portMAX_DELAY); if (data) { - log_d(" -- Got %d bytes on RX Ringbuffer - CH %d\n", rmt_len, rmt->channel); + log_d(" -- Got %d bytes on RX Ringbuffer - CH %d", rmt_len, rmt->channel); rmt->rx_completed = true; // used in rmtReceiveCompleted() // callback if (rmt->cb) { @@ -551,7 +551,7 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) } if (i == MAX_CHANNELS || i+j > MAX_CHANNELS || j != buffers) { xSemaphoreGive(g_rmt_block_lock); - log_e("rmInit Failed - not enough channels\n"); + log_e("rmInit Failed - not enough channels"); return NULL; } @@ -587,7 +587,7 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) esp_err_code = rmt_config(&config); if (esp_err_code == ESP_OK) esp_err_code = rmt_driver_install(channel, 0, 0); - log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d\n", tx_not_rx?"TX":"RX", channel, buffers, pin); + log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d", tx_not_rx?"TX":"RX", channel, buffers, pin); } else { rmt_config_t config = RMT_DEFAULT_ARD_CONFIG_RX(pin, channel, buffers); esp_err_code = rmt_config(&config); @@ -595,7 +595,7 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) esp_err_code = rmt_driver_install(channel, 1024, 0); if (esp_err_code == ESP_OK) esp_err_code = rmt_set_memory_owner(channel, RMT_MEM_OWNER_RX); - log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d\n", tx_not_rx?"TX":"RX", channel, buffers, pin); + log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d", tx_not_rx?"TX":"RX", channel, buffers, pin); } RMT_MUTEX_UNLOCK(channel); From 87b281b7443c6990155d114e80a7d223c38925b5 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 22 Dec 2021 14:14:01 +0200 Subject: [PATCH 3/3] Make sure all variables are initialized --- cores/esp32/esp32-hal-rmt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cores/esp32/esp32-hal-rmt.c b/cores/esp32/esp32-hal-rmt.c index 9eb09404824..9c619eea2c8 100644 --- a/cores/esp32/esp32-hal-rmt.c +++ b/cores/esp32/esp32-hal-rmt.c @@ -515,9 +515,9 @@ float rmtSetTick(rmt_obj_t* rmt, float tick) rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) { int buffers = memsize; - rmt_obj_t* rmt; - size_t i; - size_t j; + rmt_obj_t* rmt = NULL; + size_t i = 0; + size_t j = 0; // create common block mutex for protecting allocs from multiple threads if (!g_rmt_block_lock) { @@ -536,7 +536,6 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize) ch_end = RMT_RX_CH_END; } for (i=ch_start; i<=ch_end; i++) { - j = 0; // fixes compiling option -Werror=maybe-uninitialized for (j=0; j