Page 1 of 1

Custom RMT interrupt handler in the current master.

Posted: Mon Mar 09, 2020 2:53 pm
by raldone01
There seem to have been undocumented changes in the RMT driver implementation.

The documentation states:
When calling rmt_driver_install() to use the system RMT driver, a default ISR is being installed. In such a case you cannot register a generic ISR handler with rmt_isr_register().
Ok so the steps to use a custom interrupt handler are:
1) Call rmt_config() but don't call rmt_driver_install();
2) Call rmt_set_tx_thr_intr_en() to configure the interrupt threshold. <-------- Nullpointer exception
3) Call rmt_isr_register() and supply the custom interrupt routine.
I read the rmt source code and noticed:
The nullpointer exception occurs because if rmt_driver_install is not called the internal p_rmt_obj array is not populated.

How are you supposed to use custom interrupt routine? Also the documentation is very vague about what functions can be called without the driver being installed!

Re: Custom RMT interrupt handler in the current master.

Posted: Tue Mar 17, 2020 6:25 am
by ESP_houwenxiang
HI, raldone01

thank you for reporting this issue. we will fix this issue soon