If you encounter
rmt: rmt_transmit(466): loop count is not supported
on the ESP32, this is because you have used a rmt_transmit_config_t
with explicitly set loop_count
.
rmt_transmit_config_t cfg = { .loop_count = 1, .flags = { .eot_level = 0, } }; ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));
but your IC (e.g. ESP32-D0WD-V3) does not support hardware loop mode.
Fixing this is easy: Just comment out the .loop_count
line:
rmt_transmit_config_t cfg = { //.loop_count = 1, // DISABLED as chip does not support it .flags = { .eot_level = 0, } }; ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));
Note that if you leave .loop_count
at its default, it will always act as if .loop_count = 1
.