123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- /**
- * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
- *
- * @file
- *
- * @brief The header file of al time module
- *
- */
- #ifndef _AI_TIME_H_
- #define _AI_TIME_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "al_basictypes.h"
- /**
- * @brief Define message type of time component, usted to notify framwork.
- */
- typedef enum
- {
- AI_TIME_UPDATE, /**< Received TOT or TDT */
- AI_MAX,
- } AI_Time_Message_Type_t;
- /**
- * @brief Call back function prototype for framwork to register.
- */
- typedef al_int32 (* AI_pfTimeCallback)(AI_Time_Message_Type_t EventType, al_uint32 u32Param);
- /**
- * @brief Init al time module
- *
- * @param none
- *
- * @retval AL_SUCCESS means succss. AL_INITIALIZE_ALREADY means already initialised.
- * AL_FAILURE means failed
- */
- AL_Return_t AI_Time_Init(AI_pfTimeCallback pfTimeCallbks);
- /**
- * @brief Terminate al time module
- *
- * @param none
- *
- * @retval AL_SUCCESS means succss. lised. AL_FAILURE means failed
- *
- */
- AL_Return_t AI_Time_Term(al_void);
- /**
- * @brief This API is used to store next time offset, and it will be applied when time of change is met
- *
- * @param usMjd MJD
- *
- * @param ucHour Hour
- *
- * @param ucMin Minute
- *
- * @param ucSec Second
- *
- * @retval None
- */
- void AI_Time_UpdateNextTime(al_uint32 usMjd,al_uint8 ucHour, al_uint8 ucMin, al_uint8 ucSec);
- /**
- * @brief This API is used to set current system time, it's applied right after this API is called
- *
- * @param usMjd MJD
- *
- * @param ucHour Hour
- *
- * @param ucMin Minute
- *
- * @param ucSec Second
- *
- * @retval None
- */
- void AI_Time_UpdateTime(al_uint32 usMjd, al_uint8 ucHour, al_uint8 ucMin, al_uint8 ucSec);
- /**
- * @brief This API is used to set next time offset value which is used for tot update
- *
- * @param iTimeOffset time offset applied to
- *
- * @retval None
- */
- void AI_Time_SetNextTimeOffset(al_int32 iTimeOffset);
- /**
- * === Time Related With Time-zone and Daylight Saving etc===
- */
- /**
- * @brief :This API is used to get time sync status which indicates if TDT or TOT is received
- *
- * @param None
- *
- * @retval al_true means TOT or TDT is received and al_false otherwise.
- */
- al_bool AI_Time_GetTimeSync(void);
- /**
- * @brief This API is used to set time sync status if TDT or TOT is recieved
- *
- * @param bTimeSync al_true mean set, and al_false mean unset
- *
- * @retval None
- */
- void AI_Time_SetTimeSync(al_bool bTimeSync);
- /**
- * @brief :This API is used to get time sync status which indicates if (TDT or TOT is received/get system time by use set )from boot.
- * System time may vary depending on the stream of time, can vary depending on the manual setting.
- * @param None
- *
- * @retval al_true means TOT or TDT first is received and al_false otherwise..
- */
- al_bool AI_Time_GetTimeFristPowerON(void);
- /**
- * @brief This API is used to set time sync status if (TDT or TOT is recieved/get system time by use set) from boot.
- *System time may vary depending on the stream of time, can vary depending on the manual setting.
- * @param bTimeSync al_true mean TOT or TDT first is received from boot , and al_false mean unset
- *
- * @retval None
- */
- void AI_Time_SetTimeFristPowerON(al_bool bTimeSync);
- /**
- * @brief This API is used to get next time in seconds
- *
- * @param None
- *
- * @retval Next time second
- */
- al_uint32 AI_Time_GetNextTimeSec(void);
- /**
- * @brief This API is used to get nex raw MJD
- *
- * @param None
- *
- * @retval next raw MJD
- */
- al_uint32 AI_Time_GetNextRawMjd(void);
- /**
- * @brief This API is used to set old time offset
- *
- * @param iOffset offset defined by time zone
- *
- * @retval none
- */
- void AI_Time_SetOldTimeOffset(al_int32 iOffset);
- /**
- * @brief This API is used to set time sync status if TDT or TOT is recieved
- *
- * @param bTimeSync al_true mean set, and al_false mean unset
- *
- * @retval None
- */
- al_int32 AI_Time_GetOldTimeOffset(void);
- /**
- * @brief This API is used to record the difference of time changing
- * in TOD/TDT callback.
- *
- * @param iOffset offset get from TOT callback
- *
- * @retval none
- */
- al_int32 AI_Time_GetTimeDiff(al_void);
- al_void AI_Time_SetTimeDiff(al_int32 diff);
- void AI_Time_SetForceUpdateOffset(al_uint8 bForceUpdate);
- #ifdef __cplusplus
- }
- #endif
- #endif /* _AI_TIME_H_ */
|