/****************************************************************************** * * Copyright (C) 2001-2012 Broadcom Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ /****************************************************************************** * * This file contains timer definitions from WIDCOMM's Universal Embedded * Drivers API. * ******************************************************************************/ #ifndef UTIMER_H #define UTIMER_H /******************************************************************************* ** Timer APIs *******************************************************************************/ /**** Timer IDs ****/ #define UTIMER_ID_1 0 #define UTIMER_ID_2 1 #define UTIMER_ID_3 2 #define UTIMER_ID_4 3 #define UTIMER_NUM_TIMERS 4 /* Number of timers supported */ typedef UINT8 tUTIMER_ID; /**** Timer types ****/ #define UTIMER_TYPE_PERIODIC 0 #define UTIMER_TYPE_ONESHOT 1 typedef UINT8 tUTIMER_TYPE; /**** Timer time ****/ typedef UINT32 tUTIMER_TIME; /**** Timer configuration ****/ typedef struct { tUTIMER_TIME period; tUTIMER_TYPE type; } tUTIMER_CFG; /**** Timer feature types ****/ #define UTIMER_FEAT_ID_1 0 #define UTIMER_FEAT_ID_2 1 #define UTIMER_FEAT_ID_3 2 #define UTIMER_FEAT_ID_4 3 #define UTIMER_FEAT_TYPE_PERIODIC 4 #define UTIMER_FEAT_TYPE_ONESHOT 5 typedef UINT8 tUTIMER_FEATURE; /**** Callback for timer expiration ****/ typedef void (tUTIMER_CBACK)(tUTIMER_ID); /******************************************************************************* ** Function Prototypes *******************************************************************************/ #ifdef __cplusplus extern "C" { #endif UDRV_API extern void UTIMER_Init(void *); UDRV_API extern void UTIMER_Start(tUTIMER_ID, tUTIMER_CFG *, tUTIMER_CBACK *); UDRV_API extern void UTIMER_Read(tUTIMER_ID, tUTIMER_TIME *); UDRV_API extern void UTIMER_Stop(tUTIMER_ID); UDRV_API extern BOOLEAN UTIMER_Feature(tUTIMER_FEATURE); #ifdef __cplusplus } #endif #endif /* UTIMER_H */