RUI3 (RAK Unified Interface 3) - RAK4631
udrv_timer.h
Go to the documentation of this file.
1 #ifndef _UDRV_TIMER_H_
2 #define _UDRV_TIMER_H_
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <stdint.h>
9 
10 typedef enum {
11  TIMER_0 = 0,
12  TIMER_1 = 1,
13  TIMER_2 = 2,
14  TIMER_3 = 3,
15  TIMER_4 = 4,
17 } TimerID_E;
18 
19 typedef enum {
26 } SysTimerID_E;
27 
28 typedef enum hwtmr_op_mode {
31 } TimerMode_E;
32 
33 typedef void (*timer_handler) (void *m_data);
34 
35 //The structure of timer function
37  void (*TIMER_INIT) (void);
38  int32_t (*TIMER_CREATE) (TimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode);
39  int32_t (*TIMER_START) (TimerID_E timer_id, uint32_t count, void *m_data);
40  int32_t (*TIMER_STOP) (TimerID_E timer_id);
41 };
42 
43 void udrv_timer_init (void);
44 int32_t udrv_timer_create (TimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode);
45 int32_t udrv_timer_start (TimerID_E timer_id, uint32_t count, void *m_data);
46 int32_t udrv_timer_stop (TimerID_E timer_id);
47 
48 int32_t udrv_system_timer_create (SysTimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode);
49 int32_t udrv_system_timer_start (SysTimerID_E timer_id, uint32_t count, void *m_data);
50 int32_t udrv_system_timer_stop (SysTimerID_E timer_id);
51 
52 void udrv_system_timer_handler_handler (void *pdata);
53 
54 unsigned long udrv_get_microsecond(void);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif // #ifndef _UDRV_TIMER_H_
Definition: udrv_timer.h:22
int32_t(* TIMER_STOP)(TimerID_E timer_id)
Definition: udrv_timer.h:40
int32_t(* TIMER_CREATE)(TimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode)
Definition: udrv_timer.h:38
Definition: udrv_timer.h:16
Definition: udrv_timer.h:30
void(* TIMER_INIT)(void)
Definition: udrv_timer.h:37
Definition: udrv_timer.h:25
Definition: udrv_timer.h:24
Definition: udrv_timer.h:12
void(* timer_handler)(void *m_data)
Definition: udrv_timer.h:33
Definition: udrv_timer.h:29
int32_t udrv_system_timer_start(SysTimerID_E timer_id, uint32_t count, void *m_data)
SysTimerID_E
Definition: udrv_timer.h:19
Definition: udrv_timer.h:11
Definition: udrv_timer.h:13
hwtmr_op_mode
Definition: udrv_timer.h:28
int32_t(* TIMER_START)(TimerID_E timer_id, uint32_t count, void *m_data)
Definition: udrv_timer.h:39
Definition: udrv_timer.h:21
Definition: udrv_timer.h:36
int32_t udrv_timer_create(TimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode)
Definition: udrv_timer.h:23
unsigned long udrv_get_microsecond(void)
Definition: udrv_timer.h:20
Definition: udrv_timer.h:15
void udrv_system_timer_handler_handler(void *pdata)
TimerID_E
Definition: udrv_timer.h:10
int32_t udrv_timer_start(TimerID_E timer_id, uint32_t count, void *m_data)
int32_t udrv_system_timer_create(SysTimerID_E timer_id, timer_handler tmr_handler, TimerMode_E mode)
int32_t udrv_timer_stop(TimerID_E timer_id)
int32_t udrv_system_timer_stop(SysTimerID_E timer_id)
enum hwtmr_op_mode TimerMode_E
Definition: udrv_timer.h:14
void udrv_timer_init(void)