123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /*
- * @file hv_vos_Timer.h
- * @brief Header file of timer.
- *
- * @verbatim
- * ==============================================================================
- * ##### How to use #####
- * ==============================================================================
- * (+) Use ()
- *
- * @endverbatim
- * @author HiView SoC Software Team
- * @version 1.0.0
- * @date 2023-03-01
- */
- #ifndef _HV_VOS_TIMER_H
- #define _HV_VOS_TIMER_H
- #include "hv_vos_Types.h"
- VOS_EXTERN_C_BEGIN
- #define TIMER_NUM 70
- #define TIMER_ID_BEGIN 0x4000
- #define TIMER_ID_END (TIMER_ID_BEGIN + TIMER_NUM)
- typedef struct _HV_TIMER_S HV_TIMER_S;
- /// Timer callback function.
- typedef void (*osTimerFunc_t) (void *argument, USHORT16 usTimerId);
- /* Timer callback information structure definition */
- typedef struct {
- osTimerFunc_t func;
- void *arg;
- USHORT16 usTimerEvent;
- }TimerCallback_t;
- typedef struct _HV_TIMER_INIT_PARAMS{
- const CHAR8 * name; /* Software timer name for debug */
- UINT32 periodMs; /* Software timer period */
- BOOL reload; /* Software timer flase:one-shot; true:auto-reload */
- void *callbackArg; /* Software timer callback function argument */
- osTimerFunc_t callbackFn; /* Software timer callback function */
- USHORT16 usTimerEvent; /* Software timer eventID that send to conrresponding task */
- } HV_TIMER_INIT_PARAMS;
- /**
- * @brief Update software timer instance.
- * @param[in] void.
- * @return void.
- */
- VOID Hv_Vos_Timer_Update();
- /**
- * @brief Create software timer instance.
- * @param[in] timer init struct parm.
- * @return malloc timer instance.
- */
- HV_TIMER_S* Hv_Vos_Timer_Create(HV_TIMER_INIT_PARAMS *param);
- /**
- * @brief Delete software timer instance.
- * @param[in] Timer instance.
- * @return None.
- */
- void Hv_Vos_Timer_Delete(HV_TIMER_S *pstTimer);
- /**
- * @brief Start software timer instance.
- * @param[in] Timer instance.
- * @return None.
- */
- BOOL Hv_Vos_Timer_Start(HV_TIMER_S *pstTimer);
- /**
- * @brief Stop software timer instance.
- * @param[in] Timer instance.
- * @return None.
- */
- BOOL Hv_Vos_Timer_Stop(HV_TIMER_S *pstTimer);
- /**
- * @brief Queries a timer to see if it is active or dormant.
- * @param xTimer The timer being queried.
- * @return HV_FALSE will be returned if the timer is dormant. A value other than
- * pdHV_FALSE will be returned if the timer is active.
- * */
- BOOL Hv_Vos_Timer_IsTimerActive(HV_TIMER_S *pstTimer);
- /**
- * @brief Change software timer period.
- * @param[in] Timer instance.
- * @return None.
- */
- BOOL Hv_Vos_Timer_ChangePeriod(HV_TIMER_S *pstTimer, UINT32 uiPeriodMs);
- BOOL Hv_Vos_Timer_Rstart(HV_TIMER_S *pstTimer, UINT32 uiPeriodMs);
- BOOL Hv_Vos_Timer_Rstop(HV_TIMER_S *pstTimer);
- VOS_EXTERN_C_END
- #endif
|