Skip to content

Commit e61dbe0

Browse files
authored
Update esp32-hal-rmt.c
1 parent d7a2f88 commit e61dbe0

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

cores/esp32/esp32-hal-rmt.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ static rmt_obj_t g_rmt_objects[MAX_CHANNELS] = {
124124
/**
125125
* Internal variables for driver data
126126
*/
127+
static intr_handle_t intr_handle;
128+
129+
static bool periph_enabled = false;
130+
127131
static xSemaphoreHandle g_rmt_block_lock = NULL;
128132

129133
/**
@@ -184,21 +188,21 @@ static void _rmtRxTask(void *args) {
184188
rmt_item32_t *data = NULL;
185189

186190
if (!rmt) {
187-
log_e(" -- Inavalid Argument");
191+
log_e(" -- Inavalid Argument \n");
188192
goto err;
189193
}
190194

191195
int channel = rmt->channel;
192196
rmt_get_ringbuf_handle(channel, &rb);
193197
if (!rb) {
194-
log_e(" -- Failed to get RMT ringbuffer handle");
198+
log_e(" -- Failed to get RMT ringbuffer handle\n");
195199
goto err;
196200
}
197201

198202
for(;;) {
199203
data = (rmt_item32_t *) xRingbufferReceive(rb, &rmt_len, portMAX_DELAY);
200204
if (data) {
201-
log_d(" -- Got %d bytes on RX Ringbuffer - CH %d", rmt_len, rmt->channel);
205+
log_d(" -- Got %d bytes on RX Ringbuffer - CH %d\n", rmt_len, rmt->channel);
202206
rmt->rx_completed = true; // used in rmtReceiveCompleted()
203207
// callback
204208
if (rmt->cb) {
@@ -386,6 +390,7 @@ bool rmtReadData(rmt_obj_t* rmt, uint32_t* data, size_t size)
386390
if (!rmt) {
387391
return false;
388392
}
393+
int channel = rmt->channel;
389394

390395
rmtReadAsync(rmt, (rmt_data_t*) data, size, NULL, false, 0);
391396
return true;
@@ -487,7 +492,7 @@ bool rmtReadAsync(rmt_obj_t* rmt, rmt_data_t* data, size_t size, void* eventFlag
487492

488493
// wait for data if requested so
489494
if (waitForData && eventFlag) {
490-
xEventGroupWaitBits(eventFlag, RMT_FLAGS_ALL,
495+
uint32_t flags = xEventGroupWaitBits(eventFlag, RMT_FLAGS_ALL,
491496
pdTRUE /* clear on exit */, pdFALSE /* wait for all bits */, timeout);
492497
}
493498
return true;
@@ -536,7 +541,6 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize)
536541
ch_end = RMT_RX_CH_END;
537542
}
538543
for (i=ch_start; i<=ch_end; i++) {
539-
j = 0; // fixes compiling option -Werror=maybe-uninitialized
540544
for (j=0; j<buffers && i+j <= ch_end; j++) {
541545
// if the space is ocupied break and continue on other channel
542546
if (g_rmt_objects[i+j].allocated) {
@@ -551,7 +555,7 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize)
551555
}
552556
if (i == MAX_CHANNELS || i+j > MAX_CHANNELS || j != buffers) {
553557
xSemaphoreGive(g_rmt_block_lock);
554-
log_e("rmInit Failed - not enough channels");
558+
log_e("rmInit Failed - not enough channels\n");
555559
return NULL;
556560
}
557561

@@ -587,15 +591,15 @@ rmt_obj_t* rmtInit(int pin, bool tx_not_rx, rmt_reserve_memsize_t memsize)
587591
esp_err_code = rmt_config(&config);
588592
if (esp_err_code == ESP_OK)
589593
esp_err_code = rmt_driver_install(channel, 0, 0);
590-
log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d", tx_not_rx?"TX":"RX", channel, buffers, pin);
594+
log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d\n", tx_not_rx?"TX":"RX", channel, buffers, pin);
591595
} else {
592596
rmt_config_t config = RMT_DEFAULT_ARD_CONFIG_RX(pin, channel, buffers);
593597
esp_err_code = rmt_config(&config);
594598
if (esp_err_code == ESP_OK)
595599
esp_err_code = rmt_driver_install(channel, 1024, 0);
596600
if (esp_err_code == ESP_OK)
597601
esp_err_code = rmt_set_memory_owner(channel, RMT_MEM_OWNER_RX);
598-
log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d", tx_not_rx?"TX":"RX", channel, buffers, pin);
602+
log_d(" -- %s RMT - CH %d - %d RAM Blocks - pin %d\n", tx_not_rx?"TX":"RX", channel, buffers, pin);
599603
}
600604

601605
RMT_MUTEX_UNLOCK(channel);

0 commit comments

Comments
 (0)