esp32/esp32_rmt: Fix RMT looping.

Commit 7ea06a3e26 moved the
`rmt_write_items()` call to fix RMT looping for ESP32-S3, but broke it for
the other ESP32s.  This commit conditionally compiles the location of that
call.

Signed-off-by: Mark Blakeney <mark.blakeney@bullet-systems.net>
This commit is contained in:
Mark Blakeney 2023-11-20 15:46:08 +10:00 committed by Damien George
parent d6154925d5
commit 094b52b8ad
1 changed files with 6 additions and 0 deletions

View File

@ -323,12 +323,18 @@ STATIC mp_obj_t esp32_rmt_write_pulses(size_t n_args, const mp_obj_t *args) {
check_esp_err(rmt_wait_tx_done(self->channel_id, portMAX_DELAY));
}
#if !CONFIG_IDF_TARGET_ESP32S3
check_esp_err(rmt_write_items(self->channel_id, self->items, num_items, false));
#endif
if (self->loop_en) {
check_esp_err(rmt_set_tx_intr_en(self->channel_id, false));
check_esp_err(rmt_set_tx_loop_mode(self->channel_id, true));
}
#if CONFIG_IDF_TARGET_ESP32S3
check_esp_err(rmt_write_items(self->channel_id, self->items, num_items, false));
#endif
return mp_const_none;
}