void nrfx_pwm_uninit(nrfx_pwm_t const * const p_instance) { pwm_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); NRFX_IRQ_DISABLE(nrfx_get_irq_number(p_instance->p_registers)); #if defined(USE_DMA_ISSUE_WORKAROUND) NRFX_IRQ_DISABLE(DMA_ISSUE_EGU_IRQn); #endif nrf_pwm_disable(p_instance->p_registers); p_cb->state = NRFX_DRV_STATE_UNINITIALIZED; }
static void interrupts_disable(nrfx_uart_t const * p_instance) { nrf_uart_int_disable(p_instance->p_reg, NRF_UART_INT_MASK_RXDRDY | NRF_UART_INT_MASK_TXDRDY | NRF_UART_INT_MASK_ERROR | NRF_UART_INT_MASK_RXTO); NRFX_IRQ_DISABLE(nrfx_get_irq_number((void *)p_instance->p_reg)); }
static void interrupts_disable(nrfx_uarte_t const * p_instance) { nrf_uarte_int_disable(p_instance->p_reg, NRF_UARTE_INT_ENDRX_MASK | NRF_UARTE_INT_ENDTX_MASK | NRF_UARTE_INT_ERROR_MASK | NRF_UARTE_INT_RXTO_MASK); NRFX_IRQ_DISABLE(nrfx_get_irq_number((void *)p_instance->p_reg)); }
void nrfx_qdec_uninit(void) { NRFX_ASSERT(m_state != NRFX_DRV_STATE_UNINITIALIZED); nrfx_qdec_disable(); NRFX_IRQ_DISABLE(QDEC_IRQn); m_state = NRFX_DRV_STATE_UNINITIALIZED; NRFX_LOG_INFO("Uninitialized."); }
void nrfx_adc_uninit(void) { m_cb.p_head = NULL; NRFX_IRQ_DISABLE(ADC_IRQn); nrf_adc_int_disable(NRF_ADC_INT_END_MASK); nrf_adc_task_trigger(NRF_ADC_TASK_STOP); m_cb.state = NRFX_DRV_STATE_UNINITIALIZED; }
void nrfx_rng_uninit(void) { NRFX_ASSERT(m_rng_state == NRFX_DRV_STATE_INITIALIZED); nrf_rng_int_disable(NRF_RNG_INT_VALRDY_MASK); nrf_rng_task_trigger(NRF_RNG_TASK_STOP); NRFX_IRQ_DISABLE(RNG_IRQn); m_rng_state = NRFX_DRV_STATE_UNINITIALIZED; NRFX_LOG_INFO("Uninitialized."); }
void nrfx_comp_uninit(void) { NRFX_ASSERT(m_state != NRFX_DRV_STATE_UNINITIALIZED); NRFX_IRQ_DISABLE(COMP_LPCOMP_IRQn); nrf_comp_disable(); #if NRFX_CHECK(NRFX_PRS_ENABLED) nrfx_prs_release(NRF_COMP); #endif m_state = NRFX_DRV_STATE_UNINITIALIZED; m_comp_event_handler = NULL; NRFX_LOG_INFO("Uninitialized."); }
void nrfx_adc_uninit(void) { NRFX_IRQ_DISABLE(ADC_IRQn); nrf_adc_int_disable(NRF_ADC_INT_END_MASK); nrf_adc_task_trigger(NRF_ADC_TASK_STOP); // Disable all channels. This must be done after the interrupt is disabled // because adc_sample_process() dereferences this pointer when it needs to // switch back to the first channel in the list (when the number of samples // to read is bigger than the number of enabled channels). m_cb.p_head = NULL; m_cb.state = NRFX_DRV_STATE_UNINITIALIZED; }
void nrfx_i2s_uninit(void) { NRFX_ASSERT(m_cb.state != NRFX_DRV_STATE_UNINITIALIZED); nrfx_i2s_stop(); NRFX_IRQ_DISABLE(I2S_IRQn); nrf_i2s_pins_set(NRF_I2S, NRF_I2S_PIN_NOT_CONNECTED, NRF_I2S_PIN_NOT_CONNECTED, NRF_I2S_PIN_NOT_CONNECTED, NRF_I2S_PIN_NOT_CONNECTED, NRF_I2S_PIN_NOT_CONNECTED); m_cb.state = NRFX_DRV_STATE_UNINITIALIZED; NRFX_LOG_INFO("Uninitialized."); }
void nrfx_rtc_uninit(nrfx_rtc_t const * const p_instance) { uint32_t mask = NRF_RTC_INT_TICK_MASK | NRF_RTC_INT_OVERFLOW_MASK | NRF_RTC_INT_COMPARE0_MASK | NRF_RTC_INT_COMPARE1_MASK | NRF_RTC_INT_COMPARE2_MASK | NRF_RTC_INT_COMPARE3_MASK; NRFX_ASSERT(m_cb[p_instance->instance_id].state != NRFX_DRV_STATE_UNINITIALIZED); NRFX_IRQ_DISABLE(p_instance->irq); nrf_rtc_task_trigger(p_instance->p_reg, NRF_RTC_TASK_STOP); nrf_rtc_event_disable(p_instance->p_reg, mask); nrf_rtc_int_disable(p_instance->p_reg, mask); m_cb[p_instance->instance_id].state = NRFX_DRV_STATE_UNINITIALIZED; NRFX_LOG_INFO("Uninitialized."); }
void nrfx_clock_disable(void) { NRFX_ASSERT(m_clock_cb.module_initialized); #if NRFX_CHECK(NRFX_POWER_ENABLED) NRFX_ASSERT(nrfx_clock_irq_enabled); if (!nrfx_power_irq_enabled) #endif { NRFX_IRQ_DISABLE(POWER_CLOCK_IRQn); } nrf_clock_int_disable(CLOCK_INTENSET_HFCLKSTARTED_Msk | CLOCK_INTENSET_LFCLKSTARTED_Msk | CLOCK_INTENSET_DONE_Msk | CLOCK_INTENSET_CTTO_Msk); #if NRFX_CHECK(NRFX_POWER_ENABLED) nrfx_clock_irq_enabled = false; #endif NRFX_LOG_INFO("Module disabled."); }
void nrfx_power_uninit(void) { NRFX_ASSERT(m_initialized); #if NRFX_CHECK(NRFX_CLOCK_ENABLED) if (!nrfx_clock_irq_enabled) #endif { NRFX_IRQ_DISABLE(POWER_CLOCK_IRQn); } nrfx_power_pof_uninit(); #if NRF_POWER_HAS_SLEEPEVT || defined(__NRFX_DOXYGEN__) nrfx_power_sleepevt_uninit(); #endif #if NRF_POWER_HAS_USBREG || defined(__NRFX_DOXYGEN__) nrfx_power_usbevt_uninit(); #endif m_initialized = false; }
void nrfx_twim_uninit(nrfx_twim_t const * p_instance) { twim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); if (p_cb->handler) { NRFX_IRQ_DISABLE(nrfx_get_irq_number(p_instance->p_twim)); } nrfx_twim_disable(p_instance); #if NRFX_CHECK(NRFX_PRS_ENABLED) nrfx_prs_release(p_instance->p_twim); #endif if (!p_cb->hold_bus_uninit) { nrf_gpio_cfg_default(p_instance->p_twim->PSEL.SCL); nrf_gpio_cfg_default(p_instance->p_twim->PSEL.SDA); } p_cb->state = NRFX_DRV_STATE_UNINITIALIZED; NRFX_LOG_INFO("Instance uninitialized: %d.", p_instance->drv_inst_idx); }