/******************************************************************* * DMW_Timer.h * * Copyright 2003 Digital STREAM Technology, Inc. * All Rights Reserved * * $Id: DMW_Timer.h 2003/04/01 cafrii Exp $ * ********************************************************************/ #ifndef __DMW_TIMER_H__ #define __DMW_TIMER_H__ #include "DMW_Status.h" /* #include "TL850.h" #include "ATSC_PSIP.h" */ /* ///////////////////////////////////////////////////////////////////////////////// //////////////////// Timer M/W Variables //////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// */ #define DMW_MAX_TIMER 32 /* µî·Ï °¡´ÉÇÑ ÃÖ´ë »ç¿ëÀÚ Å¸ÀÌ¸Ó °¹¼ö.*/ /* #define EXTTIMEOUT_TASK_PRIORITY 40 */ /* DHL_Common.h·Î À̵¿ */ #define EXTTIMEOUT_TASK_STACKSIZE 8192 /* ŸÀÌ¸Ó Å½ºÅ© ÆÄ¶ó¹ÌÅÍ. ±×´ÙÁö Á¤È®ÇÏ°Ô µ¿ÀÛÇØ¾ß ÇÒ ÀÌÀ¯°¡ ¾ø´Ù¸é °¡Àå ³·Àº priority·Î µÎ±æ ±ÇÀå. Printf task ¹Ù·Î À§ Á¤µµ? */ #if 0 extern BOOLEAN DMW_bDayLightSaving; /* STT¿¡ ÀÇÇØ¼­ DST °ªÀÌ ÀÖÀ¸¸é Àû¿ëÇÒÁö ¿©ºÎ¸¦ °¡¸®´Â Flag */ extern UINT8 DMW_nTimeZone; /* Time Zone ¼³Á¤. GPS·ÎºÎÅÍ ÇöÀç ½Ã°£À» ¾ò¾î³¾ ¶§ Àû¿ëµÊ. */ /* 0: "Atlantic", 1: "Eastern", 2: "Central", 3: "Mountain", 4: "Pacific", 5: "Alaska", 6:"Hawaii", 7:"Korea" */ extern BOOLEAN bUseManualTime; /* TRUE ÀÌ¸é »ç¿ëÀÚ ½Ã°£À» »ç¿ëÇÏ°Ô µÈ´Ù. */ extern UINT8 g_nGPS_UTC_offset; #endif /* //////////////////////////////////////////////////////////////////////////////// //////////////////// Timer M/W API ////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// */ typedef void (*DMW_TIMER_PROC)(UINT32 nIDTimer, UINT32 param); /* »ç¿ëÀÚ Å¸ÀÌ¸Ó Çڵ鷯 */ void DMW_SYS_TimerInit(void); void DMW_SYS_TimerTerminate(void); STATUS DMW_SYS_GetStartTimeofTimer(UINT32 nIdTimer, UINT32 *pnStartTime); STATUS DMW_SYS_SetTimer(UINT32 nIdTimer,UINT32 nElapse, DMW_TIMER_PROC func, UINT32 param, BOOL bOneShot); /* ŸÀ̸Ӹ¦ µî·ÏÇÑ´Ù. nElapse´Â ÁÖ±âÀ̸ç, ´ÜÀ§´Â milisecondÀÌ´Ù. bOneShotÀÌ trueÀ̸é 1ȸ¸¸ ºÒ¸®°í ŸÀ̸Ӱ¡ ÀÚµ¿ ÇØÁ¦µÈ´Ù. ¸®ÅϵǴ °ªÀº µî·ÏµÈ ŸÀ̸ÓÀÇ ID°ªÀ̸ç, ³ªÁß¿¡ ŸÀ̸Ӹ¦ ÇØÁ¦ÇÒ¶§¸¦ ´ëºñÇÏ¿© ±â¾ïÇϰí ÀÖ´Â°Ô ÁÁ´Ù. À¯È¿ÇÑ Å¸ÀÌ¸Ó ID°ªÀº 0ÀÌ»óÀÇ ¾ç¼öÀÌ´Ù. À½ÀÇ °ªÀº ¿¡·¯¸¦ ÀÇ¹Ì (ŸÀÌ¸Ó ¸®¼Ò½º ºÎÁ·?) */ STATUS DMW_SYS_KillTimer(UINT32 nIdTimer); /* ŸÀ̸Ӹ¦ ÇØÁ¦ÇÑ´Ù. µî·ÏÇÏ´Â ÇÔ¼ö¿¡¼­ ¸®ÅÏµÈ ID¸¦ ÀÎÀÚ·Î ³Ö¾îÁÖ¸é µÈ´Ù. */ typedef struct { UINT32 bHoldState; UINT32 tickHoldStart; UINT32 nHoldPeriod; } DMW_Counter; void DMW_ResetCounter(DMW_Counter *pCounter); UINT32 DMW_GetTickCount(DMW_Counter *pCounter); void DMW_HoldCounter(DMW_Counter *pCounter); void DMW_ResumeCounter(DMW_Counter *pCounter); BOOL DMW_GetCounterHoldState(DMW_Counter *pCounter); void DMW_SYS_RegisterTimerSymbols(void); #endif /************************************************************************* Revision history: 1.00 2005/03/22 version control start **********************************************************************/