I'm using a timer to read the ADC repeatedly using PPI. On ADC read finish I call nrfx_saadc_buffer_convert ready for the next timer event. However, if I want to cancel conversion before the next timer event I stop the timer and call nrfx_saadc_abort. This fails because the ADC isn't converting, but nrfx_saadc_buffer_convert set the state to busy.
Essentially the problem is attempting to abort after calling nrfx_saadc_buffer_convert but before sampling fails.
Is this a bug? It seems abort should abort even if buffer_convert has been called without the sample task being started. Is there a way to just cancel the buffer_convert? Should I just call nrfx_saadc_sample followed by nrfx_saadc_abort? (this is inconvenient because I don't want to sample again, so I need to set a flag to indicate sampling is aborted and then ignore the result and don't call buffer_convert again)