/** * @brief Starts the alarm. * @note Makes sure that no spurious alarms are triggered after * this call. * @note This functionality is only available in free running mode, the * behavior in periodic mode is undefined. * * @param[in] abstime the time to be set for the first alarm * * @api */ void stStartAlarm(systime_t abstime) { osalDbgAssert(stIsAlarmActive() == false, "already active"); st_lld_start_alarm(abstime); }
/** * @brief Sets the alarm time. * @note This functionality is only available in free running mode, the * behavior in periodic mode is undefined. * * @param[in] abstime the time to be set for the next alarm * * @api */ void stSetAlarm(systime_t abstime) { osalDbgAssert(stIsAlarmActive() != false, "not active"); st_lld_set_alarm(abstime); }
/** * @brief Returns the current alarm time. * @note This functionality is only available in free running mode, the * behavior in periodic mode is undefined. * * @return The currently set alarm time. * * @api */ systime_t stGetAlarm(void) { osalDbgAssert(stIsAlarmActive() != false, "not active"); return st_lld_get_alarm(); }
/** * @brief Stops the alarm interrupt. * @note This functionality is only available in free running mode, the * behavior in periodic mode is undefined. * * @api */ void stStopAlarm(void) { osalDbgAssert(stIsAlarmActive() != false, "not active"); st_lld_stop_alarm(); }