Why is there no rmt_register_rx_end_callback()?

jmaibaum
Posts: 3
Joined: Mon Sep 17, 2018 11:58 am

Why is there no rmt_register_rx_end_callback()?

Postby jmaibaum » Mon Sep 17, 2018 12:52 pm

Hello everyone,

The API for the RMT driver has a rmt_register_tx_end_callback() which allows to run a user-defined callback after RMT TX has completed (https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/rmt.html#_CPPv228rmt_register_tx_end_callback15rmt_tx_end_fn_tPv).

I have been wondering if there is a specific reason why there is no complementary rmt_register_rx_end_callback()?

My thinking here is that with such a callback, it would be easy to check the amount of free space left in the rx ringbuffer in order to take action early enough before the ringbuffer overflows (in case application code is not polling the ringbuffer often/fast enough). Or is there an easier way to achieve this?

At least during my initial tests with the rmt_nec_tx_rx example code (https://github.com/espressif/esp-idf/tree/d56a400/examples/peripherals/rmt_nec_tx_rx) quite often I ran in to overflows of the RX buffer.

Who is online

Users browsing this forum: burkulesomesh43 and 7 guests