From 579a744fb311e2d50df58a1373bb765007f9104f Mon Sep 17 00:00:00 2001 From: Chen Jichang Date: Wed, 6 Aug 2025 18:18:27 +0800 Subject: [PATCH] fix(rmt): fix the state of the simple encoder with mem full Closes https://github.com/espressif/esp-idf/issues/17244 --- components/esp_driver_rmt/src/rmt_encoder_simple.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/esp_driver_rmt/src/rmt_encoder_simple.c b/components/esp_driver_rmt/src/rmt_encoder_simple.c index 5f3284b24b..91448dd11f 100644 --- a/components/esp_driver_rmt/src/rmt_encoder_simple.c +++ b/components/esp_driver_rmt/src/rmt_encoder_simple.c @@ -150,7 +150,8 @@ static size_t rmt_encode_simple(rmt_encoder_t *encoder, rmt_channel_handle_t cha // reset internal index if encoding session has finished simple_encoder->last_symbol_index = 0; state |= RMT_ENCODING_COMPLETE; - } else { + } + if (symbol_off >= tx_chan->mem_end) { // no more free memory, the caller should yield state |= RMT_ENCODING_MEM_FULL; }