/***************************************************************************** * * MSO Corporation * * File : rtc.h * Compiler : IAR C 5.30C Kickstart * Revision : $Revision: 1.0 $ * Date : $Date: 2010 / 7 / 16 * Updated by : $Author: Jongkwang Woo * * Support mail : spirit0305@naver.com * * Description : Header file for rtc.c * ****************************************************************************/ #ifndef _BRTC_H_ #define _BRTC_H_ #include #define RTC_TMR_PERIOD_TIME 10 // 10ms #define WARMING_UP_TIME 10000 // 10sec typedef struct { u16 sub_sec; u8 sec; u8 min; u8 hour; u8 wday; /* week */ u8 date; u8 month; u16 year; }_TTIME, *_PTIME; /* Field Octets Contents Range 1 1-2 year 0..65536 1 3 month 1..12 1 4 day 1..31 1 5 hour 0..23 1 6 minutes 0..59 1 7 seconds (use 60 for leap-second) 0..60 1 8 deci-seconds 0..9 1 9 direction from UTC '+' / '-' 1 10 hours from UTC 0..13 1 11 minutes from UTC 0..59 */ struct DateAndTime { u16 year; u8 month; u8 day; u8 hour; u8 minutes; u8 seconds; u8 deci_seconds; u8 UTC_direction; // '+' / '-' u8 UTC_hours; u8 UTC_minutes; }; void Init_RTC(void); void Real_RTC_Init(void); int rtc_gettime (_TTIME* rtc); u32 GetBuildTimeStamp(void); s8 Set_Time(u8 *time_str); void Get_TimeStr(u8 *text); u8 GET_RTC_DATA(u16 addr); void Time_Update(void *ptmr, void *parg); u32 Get_Local_Time(void); void Set_Local_Time(u32 localtime); void RTC_TimeShow(void); u16 GetTimeYear(void); u16 GetTimeMonth(void); u16 GetTimeDate(void); u16 GetTimeHour(void); u16 GetTimeMinute(void); u16 GetTimeSec(void); u16 GetTimeSubSec(void); u32 GetTimeStamp(void); u8 GetResetFlag(void); void SetRealTimeStamp(u32 NewTimeStamp); void SetUpTimeStamp(s16 value, u8 MsbLsb); void RTC_TimeSet(_TTIME *aTIME); void *GetDateAndTimeEx(void); void ODisplayDateTime(u8 p); void SDisplayDateTime(u8 p); u32 GetWarmingUp(void); extern _TTIME DEVICE_TIME, SetTime; extern u8 bak_sec; extern u32 UnixTimeStamp, BakUnixTimeStamp; extern u32 BuildTimeStamp; extern u32 OptimeStamp, disOptimeStamp; #endif