/**@brief Function for initializing the timer module and starting a timer with a handler that runs when it expires */ static void timer_init(void) { APP_TIMER_DEF(timer_id); //Macro takes care of variable declaration uint32_t err_code = app_timer_create(&timer_id, APP_TIMER_MODE_REPEATED, timer_handler); APP_ERROR_CHECK(err_code); err_code = app_timer_start(timer_id, APP_TIMER_TICKS(REFRESH_TIME, APP_TIMER_PRESCALER), NULL); APP_ERROR_CHECK(err_code); }
static void pwm_init(void) { uint32_t err_code; low_power_pwm_config_t low_power_pwm_config; APP_TIMER_DEF(lpp_timer_0); low_power_pwm_config.active_high = false; low_power_pwm_config.period = 220; low_power_pwm_config.bit_mask = BSP_LED_0_MASK; low_power_pwm_config.p_timer_id = &lpp_timer_0; err_code = low_power_pwm_init((&low_power_pwm_0), &low_power_pwm_config, pwm_handler); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_duty_set(&low_power_pwm_0, 20); APP_ERROR_CHECK(err_code); APP_TIMER_DEF(lpp_timer_1); low_power_pwm_config.active_high = false; low_power_pwm_config.period = 200; low_power_pwm_config.bit_mask = BSP_LED_1_MASK; low_power_pwm_config.p_timer_id = &lpp_timer_1; err_code = low_power_pwm_init((&low_power_pwm_1), &low_power_pwm_config, pwm_handler); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_duty_set(&low_power_pwm_1, 150); APP_ERROR_CHECK(err_code); APP_TIMER_DEF(lpp_timer_2); low_power_pwm_config.active_high = false; low_power_pwm_config.period = 100; low_power_pwm_config.bit_mask = BSP_LED_2_MASK; low_power_pwm_config.p_timer_id = &lpp_timer_2; err_code = low_power_pwm_init((&low_power_pwm_2), &low_power_pwm_config, pwm_handler); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_duty_set(&low_power_pwm_2, 20); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_start((&low_power_pwm_0), low_power_pwm_0.bit_mask); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_start((&low_power_pwm_1), low_power_pwm_1.bit_mask); APP_ERROR_CHECK(err_code); err_code = low_power_pwm_start((&low_power_pwm_2), low_power_pwm_2.bit_mask); APP_ERROR_CHECK(err_code); }
/** * @brief Function for initalizing app timer. */ void start_app_timer(void) { ret_code_t err_code; /* APP_TIMER definition for csense example. */ APP_TIMER_DEF(timer_0); err_code = app_timer_create(&timer_0, APP_TIMER_MODE_REPEATED, csense_timeout_handler); APP_ERROR_CHECK(err_code); err_code = app_timer_start(timer_0, APP_TIMER_TICKS_TIMEOUT, NULL); APP_ERROR_CHECK(err_code); }
ret_code_t led_softblink_init(led_sb_init_params_t const * p_init_params) { ret_code_t err_code; ASSERT(m_led_sb.led_sb_state == NRF_DRV_STATE_UNINITIALIZED); ASSERT(p_init_params); if ( (p_init_params->duty_cycle_max == 0) || (p_init_params->duty_cycle_max <= p_init_params->duty_cycle_min) || (p_init_params->duty_cycle_step == 0) || (p_init_params->leds_pin_bm == 0)) { return NRF_ERROR_INVALID_PARAM; } memset(&m_led_sb, 0, sizeof(led_sb_context_t)); memcpy(&m_led_sb.params, p_init_params, sizeof(led_sb_init_params_t)); m_led_sb.is_counting_up = true; m_led_sb.duty_cycle = p_init_params->duty_cycle_min + p_init_params->duty_cycle_step; m_led_sb.leds_is_on = false; m_led_sb.bit_mask = p_init_params->leds_pin_bm; APP_TIMER_DEF(led_softblink_timer); m_led_sb.pwm_config.active_high = m_led_sb.params.active_high; m_led_sb.pwm_config.bit_mask = p_init_params->leds_pin_bm; m_led_sb.pwm_config.p_port = p_init_params->p_leds_port; m_led_sb.pwm_config.period = PWM_PERIOD; m_led_sb.pwm_config.p_timer_id = &led_softblink_timer; err_code = low_power_pwm_init( &m_led_sb.pwm_instance, &m_led_sb.pwm_config, led_softblink_on_timeout); if (err_code == NRF_SUCCESS) { m_led_sb.led_sb_state = NRF_DRV_STATE_INITIALIZED; } else { return err_code; } err_code = low_power_pwm_duty_set( &m_led_sb.pwm_instance, p_init_params->duty_cycle_min + p_init_params->duty_cycle_step); return err_code; }