Lines Matching refs:alarm
52 static osi_alarm_err_t alarm_free(osi_alarm_t *alarm);
53 static osi_alarm_err_t alarm_set(osi_alarm_t *alarm, period_ms_t timeout, bool is_periodic);
139 static void alarm_cb_handler(struct alarm_t *alarm) in alarm_cb_handler() argument
141 OSI_TRACE_DEBUG("TimerID %p\n", alarm); in alarm_cb_handler()
150 arg.cb = alarm->cb; in alarm_cb_handler()
151 arg.cb_data = alarm->cb_data; in alarm_cb_handler()
198 static osi_alarm_err_t alarm_free(osi_alarm_t *alarm) in alarm_free() argument
200 if (!alarm || alarm->alarm_hdl == NULL) { in alarm_free()
204 esp_timer_stop(alarm->alarm_hdl); in alarm_free()
205 esp_err_t stat = esp_timer_delete(alarm->alarm_hdl); in alarm_free()
211 memset(alarm, 0, sizeof(osi_alarm_t)); in alarm_free()
215 void osi_alarm_free(osi_alarm_t *alarm) in osi_alarm_free() argument
224 alarm_free(alarm); in osi_alarm_free()
231 static osi_alarm_err_t alarm_set(osi_alarm_t *alarm, period_ms_t timeout, bool is_periodic) in alarm_set() argument
243 if (!alarm || alarm->alarm_hdl == NULL) { in alarm_set()
252 stat = esp_timer_start_periodic(alarm->alarm_hdl, (uint64_t)timeout_us); in alarm_set()
254 stat = esp_timer_start_once(alarm->alarm_hdl, (uint64_t)timeout_us); in alarm_set()
261 alarm->deadline_us = is_periodic ? 0 : (timeout_us + esp_timer_get_time()); in alarm_set()
268 osi_alarm_err_t osi_alarm_set(osi_alarm_t *alarm, period_ms_t timeout) in osi_alarm_set() argument
270 return alarm_set(alarm, timeout, FALSE); in osi_alarm_set()
273 osi_alarm_err_t osi_alarm_set_periodic(osi_alarm_t *alarm, period_ms_t period) in osi_alarm_set_periodic() argument
275 return alarm_set(alarm, period, TRUE); in osi_alarm_set_periodic()
278 osi_alarm_err_t osi_alarm_cancel(osi_alarm_t *alarm) in osi_alarm_cancel() argument
288 if (!alarm || alarm->alarm_hdl == NULL) { in osi_alarm_cancel()
294 esp_err_t stat = esp_timer_stop(alarm->alarm_hdl); in osi_alarm_cancel()
305 period_ms_t osi_alarm_get_remaining_ms(const osi_alarm_t *alarm) in osi_alarm_get_remaining_ms() argument
311 dt_us = alarm->deadline_us - esp_timer_get_time(); in osi_alarm_get_remaining_ms()
322 bool osi_alarm_is_active(osi_alarm_t *alarm) in osi_alarm_is_active() argument
324 assert(alarm != NULL); in osi_alarm_is_active()
326 if (alarm->alarm_hdl != NULL) { in osi_alarm_is_active()
327 return esp_timer_is_active(alarm->alarm_hdl); in osi_alarm_is_active()