void nrfx_adc_channel_enable(nrfx_adc_channel_t * const p_channel) { NRFX_ASSERT(!nrfx_adc_is_busy()); p_channel->p_next = NULL; if (m_cb.p_head == NULL) { m_cb.p_head = p_channel; } else { nrfx_adc_channel_t * p_curr_channel = m_cb.p_head; while (p_curr_channel->p_next != NULL) { NRFX_ASSERT(p_channel != p_curr_channel); p_curr_channel = p_curr_channel->p_next; } p_curr_channel->p_next = p_channel; } NRFX_LOG_INFO("Enabled."); }
void nrfx_adc_channel_disable(nrfx_adc_channel_t * const p_channel) { NRFX_ASSERT(m_cb.p_head); NRFX_ASSERT(!nrfx_adc_is_busy()); nrfx_adc_channel_t * p_curr_channel = m_cb.p_head; nrfx_adc_channel_t * p_prev_channel = NULL; while (p_curr_channel != p_channel) { p_prev_channel = p_curr_channel; p_curr_channel = p_curr_channel->p_next; NRFX_ASSERT(p_curr_channel != NULL); } if (p_prev_channel) { p_prev_channel->p_next = p_curr_channel->p_next; } else { m_cb.p_head = p_curr_channel->p_next; } NRFX_LOG_INFO("Disabled."); }
void nrfx_adc_all_channels_disable(void) { NRFX_ASSERT(!nrfx_adc_is_busy()); m_cb.p_head = NULL; }