📄 global.c
字号:
//----------------------------------------------------
#define EnableColorMatrix
#define _GLOBAL_C_
#include "types.h"
#include "board.h"
#include "global.h"
#include "msace.h"
#include "panel.h"
#include "tv.h"
//#include "menudef.h"
#include "menu.h"
#include "calendarpatch.h"
#include "keypad.h"
#include "msosd.h"
#include "menustr.h"
#include "keypad.h"
#include "tv.h"
#include "nvram.h"
#if GAME_ENABLE
#include "Game.h"
#endif
#include "debug.h"
#include "Menufunc.h"
#include "power.h"
#include "mstar.h"
void CopymatrixArray(void)
{
BYTE ucRow, ucCol;
for(ucRow=0; ucRow!=3; ucRow++)
{
for(ucCol=0; ucCol!=3; ucCol++)
{
tColorCorrectionMatrix[ucRow][ucCol]=tVideoColorCorrectionMatrix[ucRow][ucCol];
}
}
}
void Init_GlobalVariables(void)
{
g_ucOsdCounter=0;
g_ucModeDetectCounter=10;
g_ucOsdCounter=0;
g_ucPowerDownCounter=0;
g_ucInputTimingStableCounter=0;
g_ucTimingChangeDebunce=0;
g_ucSaveIndex=0; // g_ucSaveIndex
g_ucUratProgramCount=0;
g_ucCaptionPosition=0;
g_ucSwapLeftSerNum=0;
g_ucCopyLeftSerNum=0;
g_uwSleepTimeCounter=0;
g_bForceColorEnable=0;
g_bDebugProgStopFlag=0;
g_ucSyncMaxStableCounter=150;
g_ucTimeHour=0;
g_ucTimeMinute=0;
g_ucONTimeHour=0;
g_ucONTimeMinute=0;
g_ucOFFTimeHour=0;
g_ucOFFTimeMinute=0;
Clr_InputTimingChangeFlag();
Clr_PowerSavingFlag();
Clr_ForcePowerSavingFlag();
Clr_InputTimingStableFlag();
Clr_DoModeSettingFlag();
Clr_FreeRunModeFlag();
Clr_OsdTimeoutFlag();
Clr_SaveSettingFlag();
Clr_RxBusyFlag();
Clr_DynamiccaptionFlag();
Clr_AFCDisableFlag();
Clr_ChannelAFCFlag();
Clr_ShowSourceFlag();
Clr_ReDrawCurrentOSDFlag();
Clr_ChannelChangFlag();
Clr_SourceChangFlag(); //junjian 061205 for SECAM to NTSC
g_ucTimerFlag=0;
g_bTVAutoScanChannelEnable=FALSE;
g_bTVManualSearchEnable=FALSE;
g_bTVAutoScanChannelBreak=FALSE;
g_bTVManualStore = FALSE;
g_bTVManualScanChannelBreak=FALSE;
g_ucmSCounter=T100MsTick; // for System timer
g_uc100mSCounter=SystemTick;
g_ucSecond=0;
g_b100mSArrival=0;
g_bFlashReadOK=0;
g_ucMenuPageIndex=0;
g_ucMenuItemIndex=0;
ucUartCheckTick = 0;
SrcFlags=SyncLoss;
Key_KeyInit();
#if GAME_ENABLE
g_uwGameMsCounter=GameTick;
b_GameBlockDownBit=0;
b_GameBlockFastDownBit=0;
GameVariableInitial();
#endif
#if CALENDAR_ENABLE
InitializeCalendarVariable();
#endif
#if Enable_Logo_Display
ucLogoDisplayCounter=2;
Set_DrawLogoFlag();
Clr_OSDInitFlag();
#endif
msNLCCurveInit();
#if CCFL_FUNCTION
msSetCCFLBrightness();
#endif
// msACE libary initial
InitACEVar();
CopymatrixArray();
#if IRSEND_ENABLE
g_bIRSendEnable=0;
g_ucIRSendCount=0;
g_ucIRSendStatus=0;
g_ucIRSendSYSData1=0x00;
g_ucIRSendSYSData2=0xFC;
g_ucIRSendCOMData1=0x00;
g_ucIRSendCOMData2=0x00;
#endif
g_ucIr100Key=0;
g_bIrNumKeyStart=0;
}
void FlagCheckHandler(void)
{
#if Enable_Logo_Display
if (DrawLogoFlag&&PowerOnFlag)
{
if (g_ucMenuPageIndex!=LogoMenu)
{
msVD_FSM_Reset(PAL_SWITCH_AUTO);
g_ucMenuPageIndex = LogoMenu;
g_ucMenuItemIndex=0;
ExecuteKeyEvent(MIA_RedrawMenu);
msDrawLogo();
msSetBlueScreen( _ENABLE, FR_BLUE);
Clr_InputTimingChangeFlag();
Power_TurnOnPanel();
}
return;
}
if(OSDInitFlag)
{
Osd_InitOSD();
Clr_OSDInitFlag();
}
#endif
#if GAME_ENABLE
if (g_ucMenuPageIndex!=GameMenu&&g_bGameEnable)
g_bGameEnable=0;
#endif
MenuStatusCHK();
if(ReDrawCurrentOSDFlag)//for time set
{
if(g_ucMenuPageIndex==ClockMenu)
{
ReDrawCurrentOSDItem(1);
ReDrawCurrentOSDItem(2);
ReDrawCurrentOSDItem(3);
}
else
{
ExecuteKeyEvent(MIA_RedrawMenu);
g_ucCaptionPosition=1;
//Clr_DynamiccaptionFlag();
}
Clr_ReDrawCurrentOSDFlag();
}
#if TV_ENABLE
if(ChannelChangFlag&&PowerOnFlag)
{
TV_SetCh();
Clr_ChannelChangFlag();
}
#endif
if(ShowSourceFlag)
{
DrawShowSourcemenu();
Clr_ShowSourceFlag();
}
}
void SlowTimeHandler(void)
{
BOOL TOneMinArrival=FALSE;
if(g_b100mSArrival)
{
g_b100mSArrival=0;
#if TV_ENABLE
TurnerAFCHandler();
#endif
if(DynamiccaptionFlag)
{
if(g_ucCaptionPosition)
{
g_ucCaptionPosition--;
Osd_SetTextColor(CP_YellowColor, CP_TransparenceColor);
Osd_DrawStr(g_ucCaptionPosition, 0, DynamicText(g_ucMenuPageIndex-PictureMenu));
}
else
Clr_DynamiccaptionFlag();
}
#if TV_ENABLE
if(g_bTVAutoScanChannelEnable)
ReDrawProgram(g_bProgramFlash);
#endif
if(IsSrcHasSignal())
{
msVDCombHandler();
Fsm_ResetHandle();
msVideoAGCHandle();
}
FlagCheckHandler();
//-----100ms tick end---------------
if(--(g_uc100mSCounter)==0)
{
//one second tick
g_ucSecond++;
g_uc100mSCounter=SystemTick;
if (ucUartCheckTick)
if ((--ucUartCheckTick)==0)
g_UartCommand.Index = 0;
#if Enable_Logo_Display
if (ucLogoDisplayCounter)
if ((--ucLogoDisplayCounter)==0)
{
Clr_DrawLogoFlag();
Osd_Hide();
msSetBlueScreen( _ENABLE, FR_BLACK);
Set_OSDInitFlag();
Set_InputTimingChangeFlag();
}
#endif
if(g_ucSecond==60)
{
g_ucSecond=0;
TOneMinArrival=TRUE;
if (g_uwSleepTimeCounter)
if (--g_uwSleepTimeCounter==0)
Set_SleepTimeoutFlag();
}
if (SleepFlag)
{
Clr_SleepTimeoutFlag();
g_ucSleepTime=SleepTimeOff;
ExecuteKeyEvent(MIA_Power);
}
if(EnableTimeFlag)
{
if(ForcePowerONFlag)
{
if(!PowerOnFlag)
ExecuteKeyEvent(MIA_Power);
}
}
if(EnableTimeFlag)
{
if(TOneMinArrival)
{
if (g_ucMenuPageIndex==ClockMenu)
{
Set_ReDrawCurrentOSDFlag();
Clr_PowerOFFTimeEnableFlag();
Clr_PowerONTimeEnableFlag();
}
g_ucTimeMinute++;
if(g_ucTimeMinute==60)
{
g_ucTimeMinute=0;
g_ucTimeHour++;
if(g_ucTimeHour==24)
g_ucTimeHour=0;
}
if (EnableONTimeFlag)
{
if((g_ucTimeHour==g_ucONTimeHour)&&(g_ucTimeMinute==g_ucONTimeMinute)&&!PowerONTimeEnableFlag)
Set_ForcePowerONFlag();
}
if (EnableOFFTimeFlag)
{
if((g_ucTimeHour==g_ucOFFTimeHour)&&(g_ucTimeMinute==g_ucOFFTimeMinute)&&!PowerOFFTimeEnableFlag)
Set_SleepTimeoutFlag();
}
}
}
if (g_ucOsdCounter)
{
if (--g_ucOsdCounter==0)
{
g_bIrNumKeyStart = 0;
g_bIrKeyNumEnd = 0;
Set_OsdTimeoutFlag();
}
}
if (g_ucPowerDownCounter)
if (--g_ucPowerDownCounter==0)
Set_ForcePowerSavingFlag();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -