Page 1 of 1

IDF 5.1+ and the new RMT API - loop count is not supported

Posted: Thu Dec 28, 2023 8:53 pm
by technosf
Hullo!

I am trying to transmit a uint32_t multiple times via the RMT peripheral using the byte encoder.
Duplicating the uint32_t into an array and sending the array works fine, but if I try to have the RMT peripheral itself loop over the single value by changing the rmt_transmit_config_t.loop_count to anything other than 0, I get this error:

Code: Select all

rmt: rmt_transmit(478): loop count is not supported
Would someone know if this a setting in sdkconfig I need to change, a restriction on the esp32 chip, or does it just not work at this point?

Thanks!

[Solved] Re: IDF 5.1+ and the new RMT API - loop count is not supported

Posted: Thu Dec 28, 2023 9:04 pm
by technosf
To answer my own question, in soc_caps.h there is SOC_RMT_SUPPORT_TX_LOOP_COUNT which needs to be checked if you wish to do loops. From the rmt_tx code:

Code: Select all

#if !SOC_RMT_SUPPORT_TX_LOOP_COUNT
    ESP_RETURN_ON_FALSE(config->loop_count <= 0, ESP_ERR_NOT_SUPPORTED, TAG, "loop count is not supported");
#endif // !SOC_RMT_SUPPORT_TX_LOOP_COUNT