Low Level Timer¶
Types¶
miramesh_timer_callback_t¶
typedef void(* miramesh_timer_callback_t) (miracore_timer_time_t now, void *storage);
Functions¶
miramesh_timer_schedule¶
void miramesh_timer_schedule(miracore_timer_time_t time, miramesh_timer_callback_t callback, void *storage);
Schedule a timer.
If scheduled to the past, the execution will be done immediately.
Previous scheduling for the given channel is replaced.
Note
The callback is called from an interrupt context. The function may only be called from the callback or from an application context.
Use miramesh_timer_get_time_now to get the current time.
Parameters
Name | Description |
---|---|
time | When the callback should be called |
callback | The function being called |
storage | This argument is passed to the callback function |
miramesh_timer_clear¶
void miramesh_timer_clear(void);
Remove a scheduled timer.
The function can be called from any IRQ level. It is still possible the timer will be called after the current IRQ finishes or that the timer callback is called during the call.
miramesh_timer_get_time_now¶
miracore_timer_time_t miramesh_timer_get_time_now(void);
Gets the current time.
miramesh_timer_time_add_us¶
miracore_timer_time_t miramesh_timer_time_add_us(miracore_timer_time_t time, int32_t interval);
Add an interval in microseconds to the given time.
Parameters
Name | Description |
---|---|
time | The time to be added to. |
interval | How much (in microseconds) the time should change. |