17#include <zephyr/kernel.h>
18#include <zephyr/sys/time_units.h>
19#include <zephyr/sys/util.h>
30#define BM_TIMER_MIN_TIMEOUT_US (uint32_t)((5 * 1000000) / 32768)
35#define BM_TIMER_MIN_TIMEOUT_TICKS k_us_to_ticks_ceil32(BM_TIMER_MIN_TIMEOUT_US)
40#define BM_TIMER_MS_TO_TICKS(ms) k_ms_to_ticks_floor32(ms)
45#define BM_TIMER_US_TO_TICKS(us) k_us_to_ticks_floor32(us)
int bm_timer_start(struct bm_timer *timer, uint32_t timeout_ticks, void *context)
Start a timer.
void(* bm_timer_timeout_handler_t)(void *context)
Application time-out handler type.
Definition bm_timer.h:66
bm_timer_mode
Timer modes.
Definition bm_timer.h:50
@ BM_TIMER_MODE_REPEATED
The timer will restart each time it expires.
Definition bm_timer.h:58
@ BM_TIMER_MODE_SINGLE_SHOT
The timer will expire only once.
Definition bm_timer.h:54
int bm_timer_init(struct bm_timer *timer, enum bm_timer_mode mode, bm_timer_timeout_handler_t timeout_handler)
Initialize a timer instance.
int bm_timer_stop(struct bm_timer *timer)
Stop a timer.
enum bm_timer_mode mode
Definition bm_timer.h:73
struct k_timer timer
Definition bm_timer.h:72
bm_timer_timeout_handler_t handler
Definition bm_timer.h:74
Timer instance structure.
Definition bm_timer.h:71