WISP ERT (Client)  1.0.0
The WISP Extended Runtime (WISP side)
timer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "defs.h"
4 
6 typedef struct wio_timer {
8  bool flag;
10  void* cb_data;
13 
15  uint32_t _time;
17  struct wio_timer* _prev;
19  struct wio_timer* _next;
20 } wio_timer_t;
21 
23 extern uint32_t current_time;
24 
32  wio_timer_t* timer
33 );
34 
45  wio_timer_t* timer,
46  uint16_t time,
47  void* cb_data,
49 );
50 
59  wio_timer_t* timer,
60  uint16_t time
61 );
62 
69  wio_timer_t* timer
70 );
71 
76 
80 extern void wio_timer_callback();
struct wio_timer * _next
Next timer.
Definition: timer.h:19
uint8_t wio_status_t
WIO status type.
Definition: defs.h:40
wio_status_t wio_wait4_timeout(wio_timer_t *timer, uint16_t time)
Wait for timer to time out.
Definition: timer.c:84
struct wio_timer * _prev
Previous timer.
Definition: timer.h:17
uint32_t _time
Trigger time.
Definition: timer.h:15
wio_status_t(* wio_callback_t)(void *, wio_status_t, void *)
WIO callback type.
Definition: defs.h:42
wio_status_t wio_timer_subsys_init()
Initialize WIO timer subsystem.
Definition: timer.c:126
wio_callback_t cb
Callback function.
Definition: timer.h:12
bool flag
In use flag.
Definition: timer.h:8
void wio_timer_callback()
Timer interrupt callback.
Definition: timer.c:143
WIO timer type.
Definition: timer.h:6
uint32_t current_time
Current time (In unit of 20ms)
Definition: timer.c:10
wio_status_t wio_set_timeout(wio_timer_t *timer, uint16_t time, void *cb_data, wio_callback_t cb)
Set timeout on timer.
Definition: timer.c:36
wio_status_t wio_clear_timeout(wio_timer_t *timer)
Clear timeout on timer.
Definition: timer.c:100
wio_status_t wio_timer_init(wio_timer_t *timer)
Initialize timer.
Definition: timer.c:15
void * cb_data
Callback closure data.
Definition: timer.h:10