Page 1 of 1

RMT RX of a continuous bitstream

Posted: Thu Feb 08, 2024 3:55 pm
by mcSensor
Hi everyone!

I am quite new to ESP32 and have a question regarding the RMT feature:
I want to capture and analyze a continuous bitstream. The timing requirements fit to the RMT features. Each pulse contained in the signal is relevant therefore I can't use rmt_rx_done_callback_t to separate frames. Therefore I'm looking for a possibility to continously acquire pulses and write them to a FIFO buffer which my code can process in parallel.
I read a lot about the RMT feature and also about the RMT DMA support of the ESP32-S3 but I couldn't get a clear picture if a continous acquisition is possible.

Does anyone have experience in this direction?

Thank you very much!

Cheers.

Re: RMT RX of a continuous bitstream

Posted: Thu Feb 29, 2024 1:50 pm
by ESP_morris
Hi, recently we added a feature called "partial receive", which should fit your requirement.

https://github.com/espressif/esp-idf/co ... a2125d7384 (the feature only exists on the master branch)

The idea is, to register a callback "on_recv_done", you can get notification when the received data size across half of the user buffer size. In the callback function, you can get the address of the received RMT symbols, please decode them in place or if the decoding involves a long time, you should save them into another place and decode it later.