Skip to content

Commit da6a18f

Browse files
elvis-epxdpgeorge
authored andcommitted
esp32/esp32_rmt: Update FIXME on RMT module.
Signed-off-by: Elvis Pfutzenreuter <elvis.pfutzenreuter@gmail.com>
1 parent 85a15f9 commit da6a18f

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

ports/esp32/esp32_rmt.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -193,14 +193,13 @@ static void esp32_rmt_deactivate(esp32_rmt_obj_t *self) {
193193
if (self->enabled) {
194194
// FIXME: panics in ESP32 if called while TX is ongoing and TX sequence is long (>300ms)
195195
// Does not panic in ESP32-S3, ESP32-C3 and ESP32-C6.
196-
// Tested with ESP-IDF up to 5.5
197-
// ESP-IDF issue: https://github.com/espressif/esp-idf/issues/17692
196+
// Happens with ESP-IDF up to 5.5.1. Fixed in ESP-IDF 5.5.2.
197+
// ESP-IDF GitHub issue: https://github.com/espressif/esp-idf/issues/17692
198198
//
199-
// Cause is Interrupt WDT to trigger because ESP-IDF rmt_disable() disables
200-
// interrupts and spinlocks until the ongoing TX sequence is finished.
201-
//
202-
// Workaround is never try to stop RMT sequences longer than 300ms (which are unusual
203-
// anyway). Or apply the patch mentioned at the GitHub issue to ESP-IDF.
199+
// Workarounds:
200+
// - recompile with ESP-IDF 5.5.2 or better
201+
// - never try to stop RMT sequences longer than 300ms
202+
// - apply to ESP-IDF the patch mentioned at the GitHub issue
204203
rmt_disable(self->channel);
205204
self->enabled = false;
206205
}

0 commit comments

Comments
 (0)