The documentation states:
Ok so the steps to use a custom interrupt handler are: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().
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!