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

technosf
Posts: 16
Joined: Fri Dec 28, 2018 9:55 pm

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

Postby technosf » Thu Dec 28, 2023 8:53 pm

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!

technosf
Posts: 16
Joined: Fri Dec 28, 2018 9:55 pm

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

Postby technosf » Thu Dec 28, 2023 9:04 pm

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

Who is online

Users browsing this forum: Baidu [Spider] and 112 guests