uint32_t nrf_drv_ppi_channel_free(nrf_ppi_channel_t channel) { if (!is_programmable_app_channel(channel)) { return NRF_ERROR_INVALID_PARAM; } // First disable this channel nrf_ppi_channel_disable(channel); CRITICAL_REGION_ENTER(); channel_allocated_clr(channel); CRITICAL_REGION_EXIT(); return NRF_SUCCESS; }
uint32_t nrf_drv_ppi_channel_free(nrf_ppi_channel_t channel) { ret_code_t err_code = NRF_SUCCESS; if (!is_programmable_app_channel(channel)) { err_code = NRF_ERROR_INVALID_PARAM; } else { // First disable this channel nrf_ppi_channel_disable(channel); CRITICAL_REGION_ENTER(); channel_allocated_clr(channel); CRITICAL_REGION_EXIT(); } NRF_LOG_INFO("Function: %s, error code: %s.\r\n", (uint32_t)__func__, (uint32_t)ERR_TO_STR(err_code)); return err_code; }
uint32_t nrf_drv_ppi_channel_free(nrf_ppi_channel_t channel) { uint32_t err_code; if (!is_programmable_app_channel(channel)) { err_code = NRF_ERROR_INVALID_PARAM; } else { // First disable this channel #if (NRF_PPI_RESTRICTED > 0) err_code = sd_ppi_channel_enable_clr(channel_to_mask(channel)); #else nrf_ppi_channel_disable(channel); err_code = NRF_SUCCESS; #endif CRITICAL_REGION_ENTER(); channel_allocated_clr(channel); CRITICAL_REGION_EXIT(); } return err_code; }