utimer.h revision f8a4ca325ef137a94869b34d36095ba7d08816a3
1/******************************************************************************* 2** Name: utimer.h 3** 4** Description: 5** 6** This file contains timer definitions from WIDCOMM's Universal Embedded 7** Drivers API. 8** 9** Copyright (c) 2001-2004, WIDCOMM Inc., All Rights Reserved. 10** // WIDCOMM Bluetooth Core. Proprietary and confidential. 11*******************************************************************************/ 12 13#ifndef UTIMER_H 14#define UTIMER_H 15 16/******************************************************************************* 17** Timer APIs 18*******************************************************************************/ 19 20/**** Timer IDs ****/ 21 22#define UTIMER_ID_1 0 23#define UTIMER_ID_2 1 24#define UTIMER_ID_3 2 25#define UTIMER_ID_4 3 26 27#define UTIMER_NUM_TIMERS 4 /* Number of timers supported */ 28 29typedef UINT8 tUTIMER_ID; 30 31/**** Timer types ****/ 32 33#define UTIMER_TYPE_PERIODIC 0 34#define UTIMER_TYPE_ONESHOT 1 35 36typedef UINT8 tUTIMER_TYPE; 37 38 39/**** Timer time ****/ 40 41typedef UINT32 tUTIMER_TIME; 42 43 44/**** Timer configuration ****/ 45 46typedef struct 47{ 48 tUTIMER_TIME period; 49 tUTIMER_TYPE type; 50} tUTIMER_CFG; 51 52 53/**** Timer feature types ****/ 54#define UTIMER_FEAT_ID_1 0 55#define UTIMER_FEAT_ID_2 1 56#define UTIMER_FEAT_ID_3 2 57#define UTIMER_FEAT_ID_4 3 58#define UTIMER_FEAT_TYPE_PERIODIC 4 59#define UTIMER_FEAT_TYPE_ONESHOT 5 60 61typedef UINT8 tUTIMER_FEATURE; 62 63 64/**** Callback for timer expiration ****/ 65typedef void (tUTIMER_CBACK)(tUTIMER_ID); 66 67 68/******************************************************************************* 69** Function Prototypes 70*******************************************************************************/ 71#ifdef __cplusplus 72extern "C" { 73#endif 74 75UDRV_API extern void UTIMER_Init(void *); 76UDRV_API extern void UTIMER_Start(tUTIMER_ID, tUTIMER_CFG *, tUTIMER_CBACK *); 77UDRV_API extern void UTIMER_Read(tUTIMER_ID, tUTIMER_TIME *); 78UDRV_API extern void UTIMER_Stop(tUTIMER_ID); 79UDRV_API extern BOOLEAN UTIMER_Feature(tUTIMER_FEATURE); 80 81#ifdef __cplusplus 82} 83#endif 84 85#endif /* UTIMER_H */ 86