mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-17 23:48:13 +08:00
94 lines
2.3 KiB
C
94 lines
2.3 KiB
C
/**
|
|
* UNPUBLISHED PROPRIETARY SOURCE CODE
|
|
* Copyright (c) 2016 MXCHIP Inc.
|
|
*
|
|
* The contents of this file may not be disclosed to third parties, copied or
|
|
* duplicated in any form, in whole or in part, without the prior written
|
|
* permission of MXCHIP Corporation.
|
|
*
|
|
*/
|
|
|
|
/*******************************************************************************
|
|
** Name: utimer.h
|
|
**
|
|
** Description:
|
|
**
|
|
** 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 */
|