WE310F5  39.00.000
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 
79 
88 
96 typedef enum
97 {
100  M2MB_OS_TIME_NONE = 0x7FFFFFF
102 
110 typedef enum
111 {
130  /* ---- */
134 
143 typedef struct M2MB_OS_TMR_EVENT_INFO
144 {
148 
157 typedef void(*USR_TMR_CB)(M2MB_OS_TMR_HANDLE handle, void *arg);
158 
167 typedef struct M2MB_OS_TMR_CB_INFO
168 {
172 
181 {
183  union
184  {
187  }notify_option;
189 
190 
191 /* Global functions =============================================================================*/
192 
193 /*-----------------------------------------------------------------------------------------------*/
289 /*-----------------------------------------------------------------------------------------------*/
291  M2MB_OS_TMR_ATTR_HANDLE *pTmrAttr );
292 
293 /*-----------------------------------------------------------------------------------------------*/
331 /*-----------------------------------------------------------------------------------------------*/
333 
334 /*-----------------------------------------------------------------------------------------------*/
372 /*-----------------------------------------------------------------------------------------------*/
374 
375 /*-----------------------------------------------------------------------------------------------*/
422 /*-----------------------------------------------------------------------------------------------*/
424  UINT32 reschedule_ticks );
425 
426 /*-----------------------------------------------------------------------------------------------*/
458 /*-----------------------------------------------------------------------------------------------*/
460 
461 /*-----------------------------------------------------------------------------------------------*/
563 /*-----------------------------------------------------------------------------------------------*/
565  UINT8 nCmds,
566  ...
567 );
568 
569 /*-----------------------------------------------------------------------------------------------*/
638 /*-----------------------------------------------------------------------------------------------*/
640  MEM_W *pOut,
641  VOID *pIn
642 );
643 
644 /*-----------------------------------------------------------------------------------------------*/
704 /*-----------------------------------------------------------------------------------------------*/
706  VOID *pIn
707 );
708 
709 /*-----------------------------------------------------------------------------------------------*/
742 /*-----------------------------------------------------------------------------------------------*/
744 
745 /*-----------------------------------------------------------------------------------------------*/
778 /*-----------------------------------------------------------------------------------------------*/
780 
781 /*-----------------------------------------------------------------------------------------------*/
810 /*-----------------------------------------------------------------------------------------------*/
812 
816 /*-----------------------------------------------------------------------------------------------*/
817 
818 #ifdef __cplusplus
819 }
820 #endif
821 #endif /* M2MB_OS_TMR_H */
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.
#define ENUM_TO_INT(Prefix)
Definition: m2mb_types.h:207
M2MB_OS_RESULT_E m2mb_os_tmr_start(M2MB_OS_TMR_HANDLE tmrHandle)
Start application timer.
unsigned char UINT8
Definition: m2mb_types.h:86
HANDLE M2MB_OS_TMR_HANDLE
OS timer handle declaration.
Definition: m2mb_os_tmr.h:78
UINT32 M2MB_OS_TIME_T
OS Time type declaration.
Definition: m2mb_os_tmr.h:69
struct M2MB_OS_EV_HANDLE_TAG * M2MB_OS_EV_HANDLE
Definition: m2mb_os_ev.h:122
M2MB_OS_RESULT_E m2mb_os_tmr_init(M2MB_OS_TMR_HANDLE *pTmrHandle, M2MB_OS_TMR_ATTR_HANDLE *pTmrAttr)
Application timer Creation.
M2MB_OS_TIME_T m2mb_os_tmr_get_ticks(VOID)
Gets the current timer ticks.
M2MB_OS_TMR_CB_T cbfunc
Definition: m2mb_os_tmr.h:169
enum M2MB_OS_RESULT M2MB_OS_RESULT_E
M2MB_OS_RESULT_E m2mb_os_tmr_setAttrItem(M2MB_OS_TMR_ATTR_HANDLE *pTmrAttrHandle, UINT8 nCmds,...)
Set specific attribute for timer creation.
struct M2MB_OS_TMR_EVENT_INFO M2MB_OS_TMR_EVENT_INFO_T
Timer event information structure.
Timer event information structure.
Definition: m2mb_os_tmr.h:143
void VOID
Definition: m2mb_types.h:74
M2MB_OS_RESULT_E m2mb_os_tmr_deinit(M2MB_OS_TMR_HANDLE tmrHandle)
Timer deinit => deletion.
HANDLE M2MB_OS_TMR_ATTR_HANDLE
OS timer attribute handle declaration.
Definition: m2mb_os_tmr.h:87
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_change(M2MB_OS_TMR_HANDLE tmrHandle, UINT32 initial_ticks, UINT32 reschedule_ticks)
Change application timer.
M2MB_OS_TMR_SEL_CMD_E
Timer attribute enumeration.
Definition: m2mb_os_tmr.h:110
M2MB_OS_TMR_EVENT_INFO_T ev_obj
Definition: m2mb_os_tmr.h:185
M2MB_OS_TMR_CB_INFO_T cb_obj
Definition: m2mb_os_tmr.h:186
void(* USR_TMR_CB)(M2MB_OS_TMR_HANDLE handle, void *arg)
Definition: m2mb_os_tmr.h:157
VOID(* M2MB_OS_TMR_CB_T)(VOID *)
OS timer callback declaration.
Definition: m2mb_os_tmr.h:156
unsigned long int UINT32
Definition: m2mb_types.h:88
UINT32 MEM_W
Definition: m2mb_types.h:94
union M2MB_OS_TMR_NOTIFY_INFO::@7 notify_option
M2MB_OS_RESULT_E m2mb_os_tmr_stop(M2MB_OS_TMR_HANDLE tmrHandle)
Stop an application timer.
void * HANDLE
Definition: m2mb_types.h:98
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.
Timer notify information structure.
Definition: m2mb_os_tmr.h:180
M2MB_OS_TIME_UNIT_T
Timer unit enumeration.
Definition: m2mb_os_tmr.h:96
struct M2MB_OS_TMR_CB_INFO M2MB_OS_TMR_CB_INFO_T
Timer callback information structure.
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.
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:145
Timer callback information structure.
Definition: m2mb_os_tmr.h:167