WL865E4-P  36.07.001
m2mb_os_tmr.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
25 #ifndef M2MB_OS_TMR_H
26 #define M2MB_OS_TMR_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
41 /*-----------------------------------------------------------------------------------------------*/
42 
47 /*-----------------------------------------------------------------------------------------------*/
48 /* Global declarations ==========================================================================*/
49 
50 #define M2MB_OS_TMR_INVALID 0
51 #define M2MB_OS_TMR_INVALID_ATTR 0
53 #define M2MB_OS_TMR_ONESHOT 0x01
54 #define M2MB_OS_TMR_PERIODIC_TMR 0x02
56 #define M2MB_OS_TMR_NO_AUTO_START 0x04
57 #define M2MB_OS_TMR_AUTO_START 0x08
59 #define M2MB_OS_TMR_OBJ_SIZE_BYTES 128
61 /* Global typedefs --------------------------------------------------------------- */
62 
70 typedef VOID ( *M2MB_OS_TMR_CB_T )( VOID * );
71 
72 
81 
90 
99 
107 typedef enum
108 {
111  M2MB_OS_TIME_NONE = 0x7FFFFFF
113 
121 typedef enum
122 {
141  /* ---- */
145 
154 typedef struct M2MB_OS_TMR_EVENT_INFO
155 {
159 
168 typedef struct M2MB_OS_TMR_CB_INFO
169 {
173 
182 {
184  union
185  {
188  }notify_option;
190 
199 typedef struct M2MB_OS_TMR_ATTR
200 {
207 
208 /* Global functions =============================================================================*/
209 
210 /*-----------------------------------------------------------------------------------------------*/
306 /*-----------------------------------------------------------------------------------------------*/
308  M2MB_OS_TMR_ATTR_HANDLE *pTmrAttr );
309 
310 /*-----------------------------------------------------------------------------------------------*/
348 /*-----------------------------------------------------------------------------------------------*/
350 
351 /*-----------------------------------------------------------------------------------------------*/
389 /*-----------------------------------------------------------------------------------------------*/
391 
392 /*-----------------------------------------------------------------------------------------------*/
439 /*-----------------------------------------------------------------------------------------------*/
441  UINT32 reschedule_ticks );
442 
443 /*-----------------------------------------------------------------------------------------------*/
475 /*-----------------------------------------------------------------------------------------------*/
477 
478 /*-----------------------------------------------------------------------------------------------*/
580 /*-----------------------------------------------------------------------------------------------*/
582  UINT8 nCmds,
583  ...
584 );
585 
586 /*-----------------------------------------------------------------------------------------------*/
655 /*-----------------------------------------------------------------------------------------------*/
657  MEM_W *pOut,
658  VOID *pIn
659 );
660 
661 /*-----------------------------------------------------------------------------------------------*/
721 /*-----------------------------------------------------------------------------------------------*/
723  VOID *pIn
724 );
725 
726 /*-----------------------------------------------------------------------------------------------*/
759 /*-----------------------------------------------------------------------------------------------*/
761 
762 /*-----------------------------------------------------------------------------------------------*/
795 /*-----------------------------------------------------------------------------------------------*/
797 
798 /*-----------------------------------------------------------------------------------------------*/
827 /*-----------------------------------------------------------------------------------------------*/
829 
833 /*-----------------------------------------------------------------------------------------------*/
834 
835 #ifdef __cplusplus
836 }
837 #endif
838 #endif /* M2MB_OS_TMR_H */
unsigned char UINT8
Definition: m2mb_types.h:83
M2MB_OS_TIME_UNIT_T
Timer unit enumeration.
Definition: m2mb_os_tmr.h:107
Timer event information structure.
Definition: m2mb_os_tmr.h:154
M2MB_OS_TMR_SEL_CMD_E
Timer attribute enumeration.
Definition: m2mb_os_tmr.h:121
M2MB_OS_RESULT_E m2mb_os_tmr_setItem(M2MB_OS_TMR_HANDLE tmrHandle, M2MB_OS_TMR_SEL_CMD_E selCmd, VOID *pIn)
Set specific properties of the timer.
M2MB_OS_TIME_T m2mb_os_tmr_get_ticks(VOID)
Gets the current timer ticks.
M2MB_OS_TMR_CB_INFO_T cb_obj
Definition: m2mb_os_tmr.h:187
M2MB_OS_RESULT_E m2mb_os_tmr_setAttrItem(M2MB_OS_TMR_ATTR_HANDLE *pTmrAttrHandle, UINT8 nCmds,...)
Set specific attribute for timer creation.
M2MB_OS_RESULT_E m2mb_os_tmr_change(M2MB_OS_TMR_HANDLE tmrHandle, UINT32 initial_ticks, UINT32 reschedule_ticks)
Change application timer.
Timer notify information structure.
Definition: m2mb_os_tmr.h:181
M2MB_OS_TIME_T m2mb_os_tmr_convert_time_to_ticks(M2MB_OS_TIME_T time, M2MB_OS_TIME_UNIT_T unit_of_time)
Convertion time to ticks.
M2MB_OS_RESULT_E m2mb_os_tmr_getItem(M2MB_OS_TMR_HANDLE tmrHandle, M2MB_OS_TMR_SEL_CMD_E selCmd, MEM_W *pOut, VOID *pIn)
Get specific properties of the timer.
M2MB_OS_TMR_EVENT_INFO_T ev_obj
Definition: m2mb_os_tmr.h:186
union M2MB_OS_TMR_NOTIFY_INFO::@6 notify_option
unsigned long int UINT32
Definition: m2mb_types.h:85
M2MB_OS_RESULT_E m2mb_os_tmr_start(M2MB_OS_TMR_HANDLE tmrHandle)
Start application timer.
Timer attiribute structure.
Definition: m2mb_os_tmr.h:199
M2MB_OS_TMR_NOTIFY_INFO_T notify_info
Definition: m2mb_os_tmr.h:205
HANDLE M2MB_OS_TMR_ATTR_HANDLE
OS timer attribute handle declaration.
Definition: m2mb_os_tmr.h:98
void VOID
Definition: m2mb_types.h:72
UINT32 MEM_W
Definition: m2mb_types.h:91
HANDLE M2MB_OS_TMR_HANDLE
OS timer handle declaration.
Definition: m2mb_os_tmr.h:89
enum M2MB_OS_RESULT M2MB_OS_RESULT_E
M2MB_OS_RESULT_E m2mb_os_tmr_init(M2MB_OS_TMR_HANDLE *pTmrHandle, M2MB_OS_TMR_ATTR_HANDLE *pTmrAttr)
Application timer Creation.
void * HANDLE
Definition: m2mb_types.h:95
VOID(* M2MB_OS_TMR_CB_T)(VOID *)
OS timer callback declaration.
Definition: m2mb_os_tmr.h:70
M2MB_OS_RESULT_E m2mb_os_tmr_deinit(M2MB_OS_TMR_HANDLE tmrHandle)
Timer deinit => deletion.
struct M2MB_OS_TMR_EVENT_INFO M2MB_OS_TMR_EVENT_INFO_T
Timer event information structure.
M2MB_OS_TMR_CB_T cbfunc
Definition: m2mb_os_tmr.h:170
struct M2MB_OS_TMR_ATTR M2MB_OS_TMR_ATTR_T
Timer attiribute structure.
M2MB_OS_RESULT_E m2mb_os_tmr_stop(M2MB_OS_TMR_HANDLE tmrHandle)
Stop an application timer.
struct M2MB_OS_TMR_NOTIFY_INFO M2MB_OS_TMR_NOTIFY_INFO_T
Timer notify information structure.
M2MB_OS_EV_HANDLE event
Definition: m2mb_os_tmr.h:156
struct M2MB_OS_TMR_CB_INFO M2MB_OS_TMR_CB_INFO_T
Timer callback information structure.
M2MB_OS_TIME_T m2mb_os_tmr_convert_ticks_to_time(M2MB_OS_TIME_T ticks, M2MB_OS_TIME_UNIT_T time_unit)
Convertion ticks to time.
UINT32 M2MB_OS_TIME_T
OS Time type declaration.
Definition: m2mb_os_tmr.h:80
HANDLE M2MB_OS_EV_HANDLE
Definition: m2mb_os_ev.h:103
Timer callback information structure.
Definition: m2mb_os_tmr.h:168
#define ENUM_TO_INT(Prefix)
Definition: m2mb_types.h:198