void nrf_drv_timer_extended_compare(nrf_drv_timer_t const * const p_instance, nrf_timer_cc_channel_t cc_channel, uint32_t cc_value, nrf_timer_short_mask_t timer_short_mask, bool enable_int) { nrf_timer_shorts_disable(p_instance->p_reg, (TIMER_SHORTS_COMPARE0_STOP_Msk << cc_channel) | (TIMER_SHORTS_COMPARE0_CLEAR_Msk << cc_channel)); nrf_timer_shorts_enable(p_instance->p_reg, timer_short_mask); (void)nrf_drv_timer_compare(p_instance, cc_channel, cc_value, enable_int); }
void nrf_drv_timer_extended_compare(nrf_drv_timer_t const * const p_instance, nrf_timer_cc_channel_t cc_channel, uint32_t cc_value, nrf_timer_short_mask_t timer_short_mask, bool enable_int) { nrf_timer_shorts_disable(p_instance->p_reg, (TIMER_SHORTS_COMPARE0_STOP_Msk << cc_channel) | (TIMER_SHORTS_COMPARE0_CLEAR_Msk << cc_channel)); nrf_timer_shorts_enable(p_instance->p_reg, timer_short_mask); (void)nrf_drv_timer_compare(p_instance, cc_channel, cc_value, enable_int); NRF_LOG_INFO("Timer id: %d, capture value set: %d, channel: %d.\r\n", p_instance->instance_id, cc_value, cc_channel); }
void nrf_drv_timer_extended_compare(nrf_drv_timer_t const * const p_instance, nrf_timer_cc_channel_t cc_channel, uint32_t cc_value, nrf_timer_shorts_mask_t timer_short_mask, bool enable) { if (enable == true) { nrf_timer_shorts_clear(p_instance->p_reg, TIMER_CC_SHORTS(cc_channel)); nrf_timer_shorts_set(p_instance->p_reg, timer_short_mask); } else { nrf_timer_shorts_clear(p_instance->p_reg, timer_short_mask); } (void)nrf_drv_timer_compare(p_instance, cc_channel, cc_value, enable); }