📄 mst705Ȧ
字号:
//====================================================
BOOL AdjustVPosition(MenuItemActionType action)
{
WORD tempValue;
tempValue=DecIncValue(action, g_ModeSetting.VStart, 0, 2*StandardModeVStart, 1);
if (tempValue==g_ModeSetting.VStart)
return FALSE;
g_ModeSetting.VStart=tempValue;
msAdjustVPosition(g_ModeSetting.VStart);
return TRUE;
}
WORD GetVPositionValue(void)
{
return GetScale100Value(g_ModeSetting.VStart, 0, 2*StandardModeVStart);
}
BOOL AutoConfig(void)
{
BOOL result;
result=msAutoGeometry(AUTO_TUNE_BASIC);
g_ModeSetting.AutoHStart=g_ModeSetting.HStart;
g_ModeSetting.AutoVStart=g_ModeSetting.VStart;
if (result)
{
g_ModeSetting.AutoTimes=1;
#if RM_EEPROM_TYPE<RM_TYPE_SST512
SaveModeSetting();
#endif
}
return result;
}
#if (VGA_ENABLE||YPBPR_ENABLE)
BOOL AutoColor(void)
{
BOOL result=FALSE;
if(IsVGAInUse())
{
result=msAutoGeometry(AUTO_TUNE_RGB_COLOR);
//SaveModeSetting();
#if (VGA_ENABLE)
SavePCSetting();//hyy 2007 01 26
#endif
}
else if(IsYPbPrInUse())
{
result=msAutoGeometry(AUTO_TUNE_YUV_COLOR);
//SaveModeSetting();
#if(YPBPR_ENABLE)
SaveYPbPrSetting();
#endif
}
return result;
}
#endif
//=======================================================================================
#endif
#if TV_ENABLE
WORD GetAGCValue(void)
{
return g_VideoSetting.TunerAGC;
}
BOOL AdjustAGC(MenuItemActionType action)
{
if (action==MIA_IncValue)
g_VideoSetting.TunerAGC+=1;
else
g_VideoSetting.TunerAGC+=(0x20-1);
g_VideoSetting.TunerAGC%=0x20;
devTunerSetAGCValue(g_VideoSetting.TunerAGC);
return TRUE;
}
/*
BOOL AdjustSWAPLeftSerNum(MenuItemActionType action)
{
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
if(action==MIA_IncValue)
g_ucSwapLeftSerNum+=1;
else
g_ucSwapLeftSerNum+=(uctemp-1);
g_ucSwapLeftSerNum%=uctemp;
return TRUE;
}
BOOL AdjustSWAPChannel(MenuItemActionType action)
{
Osd_SetTextColor(CP_RedColor, CP_GrayColor);
Osd_DrawStr(11, 5, "\x081\x082");
action=action;
ChannelSwap(g_ucSwapLeftSerNum,g_TVChSetting.ucCurChannelNO);
Osd_SetTextColor(CP_WhiteColor, CP_GrayColor);
Osd_DrawStr(11, 5, "\x081\x082");
return TRUE;
}
WORD GetSWAPLeftSerNumValue(void)
{
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
return (g_ucSwapLeftSerNum%=uctemp);
}
BOOL AdjustCOPYLeftSerNum(MenuItemActionType action)
{
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
if(action==MIA_IncValue)
g_ucCopyLeftSerNum+=1;
else
g_ucCopyLeftSerNum+=(uctemp-1);
g_ucCopyLeftSerNum%=uctemp;
return TRUE;
}
BOOL AdjustCopyChannel(MenuItemActionType action)
{
Osd_SetTextColor(CP_RedColor, CP_GrayColor);
Osd_DrawStr(11, 6, "\x081\x080");
action=action;
SaveTVChannelInfo(g_ucCopyLeftSerNum,TRUE);
Delay1ms(10);
Osd_SetTextColor(CP_WhiteColor, CP_GrayColor);
Osd_DrawStr(11, 6, "\x081\x080");
return TRUE;
}
WORD GetCOPYLeftSerNumValue(void)
{
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
return (g_ucCopyLeftSerNum%=uctemp);
}
*/
WORD GetBandValue(void)
{
if(chData.wFreq< TN_LOWBAND_END)
return 0;
else if(chData.wFreq < TN_MIDBAND_END)
return 1;
else
return 2;
}
BOOL AdjustBandValue(MenuItemActionType action)
{
WORD tempvalue;
tempvalue= GetBandValue();
if(action==MIA_IncValue)
tempvalue++;
else
tempvalue+=(3-1);
tempvalue%=3;
switch(tempvalue)
{
case 0:
chData.wFreq=TN_FREQMIN;
break;
case 1:
chData.wFreq=TN_LOWBAND_END;
break;
case 2:
default:
chData.wFreq=TN_MIDBAND_END;
break;
}
DevTunerWrite(chData.wFreq);
return TRUE;
}
BOOL AdjustProgram(MenuItemActionType action)
{
BYTE tempvalue;
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
tempvalue= GetChannelNumber();
if(action==MIA_IncValue)
tempvalue+=1;
else
tempvalue+=(uctemp-1);
tempvalue%=uctemp;
TV_SelectChannel(tempvalue);
DrawChannelFreqGuage( chData.wFreq,CP_SeaBlueColor);
g_ucMenuItemIndex=4;
Set_ReDrawCurrentOSDFlag();
return TRUE;
}
//===============================for MenuFunc=======================================
BYTE GetCurrentChannelNum(void)
{
BYTE uctemp;
#if TV_SYSTEM==TV_NTSC
if (g_TVChSetting.ucTVSource==NTSC_ATV)
uctemp=TV_MAX_CHANNEL_NUM;
else
uctemp=CATV_MAX_CHANNEL_NUM;
#else
uctemp=TV_MAX_CHANNEL_NUM;
#endif
return g_TVChSetting.ucCurChannelNO%uctemp;
}
void ChannelUp(void)
{
BYTE TempChannel=SearchTVNoSkipChannel(g_TVChSetting.ucCurChannelNO,1);
TV_SelectChannel(TempChannel);
}
void ChannelDown(void)
{
BYTE TempChannel=SearchTVNoSkipChannel(g_TVChSetting.ucCurChannelNO,0);
TV_SelectChannel(TempChannel);
}
BOOL FineTuneAdjust(MenuItemActionType action)
{
DrawChannelFreqGuage( chData.wFreq ,CP_RedColor);
if(action==MIA_IncValue)
chData.wFreq++;
else
chData.wFreq--;
if(chData.wFreq>TN_FREQMAX)
chData.wFreq=TN_FREQMIN;
else if(chData.wFreq<TN_FREQMIN)
chData.wFreq=TN_FREQMAX;
chData.ucChannelMisc=chData.ucChannelMisc&(~DoAFCFlag);
DrawScanProgress(chData.wFreq);
DevTunerWrite(chData.wFreq);
SaveTVChannelInfo(g_TVChSetting.ucCurChannelNO, TRUE);
DrawChannelFreqGuage( chData.wFreq ,CP_SeaBlueColor);
GetAFCValue(10);
return TRUE;
}
#if TV_SYSTEM==TV_NTSC
BOOL AdjustTVTypes(MenuItemActionType action)
{
BYTE uctemp;
uctemp=g_TVChSetting.ucTVSource;
if(action==MIA_IncValue)
uctemp++;
else
uctemp+=(NTSC_SOURCE_NUM-1);
uctemp%=NTSC_SOURCE_NUM;
g_TVChSetting.ucTVSource=uctemp;
if(g_TVChSetting.ucTVSource==NTSC_ATV)
g_TVChSetting.ucCurChannelNO=g_TVChSetting.ucATVChannelNO;
else
g_TVChSetting.ucCurChannelNO=g_TVChSetting.ucCTVChannelNO;
g_TVChSetting.ucPreChannelNO=g_TVChSetting.ucCurChannelNO;
g_ucMenuItemIndex=0;
Set_ReDrawCurrentOSDFlag();
Set_ChannelChangFlag();
return TRUE;
}
#endif
#endif
#ifdef Multi_language
BOOL AdjustLanguage(MenuItemActionType action)
{BYTE ucTemp;
if (action==MIA_IncValue)
{
if(g_VideoSetting.Language==LANG_Nums-1)
g_VideoSetting.Language = 0;
else
g_VideoSetting.Language+=1;
}
else if(action == MIA_DecValue)
{
if(g_VideoSetting.Language==0)
g_VideoSetting.Language = LANG_Nums-1;
else
g_VideoSetting.Language-=1;
}
Osd_SetTextColor(CP_TransparenceColor, CP_TransparenceColor);
Osd_DrawStr(0, 0, " ");
Osd_SetTextColor(CP_GrayColor, CP_GrayColor);
for (ucTemp=3;ucTemp<=9;ucTemp++)
Osd_DrawStr(0, ucTemp, " ");
Osd_LoadDymaticFont();
//Osd_Hide();
Delay1ms(10);
g_ucMenuItemIndex=3;
Set_ReDrawCurrentOSDFlag();
Set_SaveSettingFlag();
return TRUE;
}
#endif
//====================================================
BOOL AdjustVideoVCOMDC(MenuItemActionType action)
{
WORD tempValue;
tempValue=DecIncValue(action, g_VideoSetting.VcomDC, 0 , 255, 1);
if (tempValue==g_VideoSetting.VcomDC)
return FALSE;
g_VideoSetting.VcomDC=tempValue;
msWriteByte(BK0_00_REGBK,REG_BANK3_COMB);
#if(VCOM_DC_Ctrl==PWM_TYPE_PWM3)
msWriteByte(BK3_F4_PWM3C, g_VideoSetting.VcomDC);
#elif(VCOM_DC_Ctrl==PWM_TYPE_PWM4)
msWriteByte(BK3_F5_PWM4C, g_VideoSetting.VcomDC);
#endif
NVRam_WriteByte(nvrVideoAddr(VcomDC), g_VideoSetting.VcomDC);
g_VideoSetting.Checksum= usrCalCheckSum((BYTE *)&g_VideoSetting, (VideoSettingSize - CheckSumSize));
NVRam_WriteByte(nvrVideoAddr(Checksum), g_VideoSetting.Checksum);
msWriteByte(BK0_00_REGBK,REG_BANK_SCALER);
return TRUE;
}
WORD GetVideoVCOMDCValue(void)
{
return g_VideoSetting.VcomDC;
}
//====================================================
BOOL AdjustVideoVCOMAC(MenuItemActionType action)
{
WORD tempValue;
tempValue=DecIncValue(action, g_VideoSetting.VcomAC, 0 , 255, 1);
if (tempValue== g_VideoSetting.VcomAC)
return FALSE;
g_VideoSetting.VcomAC=tempValue;
msWriteByte(BK0_00_REGBK,REG_BANK4_LVDS_CCFL);
msWriteByte(BK4_28, g_VideoSetting.VcomAC);
NVRam_WriteByte(nvrVideoAddr(VcomAC), g_VideoSetting.VcomAC);
g_VideoSetting.Checksum= usrCalCheckSum((BYTE *)&g_VideoSetting, (VideoSettingSize - CheckSumSize));
NVRam_WriteByte(nvrVideoAddr(Checksum), g_VideoSetting.Checksum);
msWriteByte(BK0_00_REGBK,REG_BANK_SCALER);
return TRUE;
}
WORD GetVideoVCOMACValue(void)
{
return g_VideoSetting.VcomAC;
}
//====================================================
#if (VGA_ENABLE||YPBPR_ENABLE)
BOOL AdjustRedGain(MenuItemActionType action)
{ WORD tempValue;
if(IsVGAInUse())
{
tempValue=DecIncValue(action, g_PcSetting.AdcRedGain, 0, 0x3FFF, 8);
if (tempValue==g_PcSetting.AdcRedGain)
return FALSE;
g_PcSetting.AdcRedGain=tempValue;
msAdjustAdcGain(g_PcSetting.AdcRedGain,g_PcSetting.AdcGreenGain,g_PcSetting.AdcBlueGain);
NVRam_WriteWord(nvrMonitorAddr(AdcRedGain), g_PcSetting.AdcRedGain);
}
else
{
tempValue=DecIncValue(action, g_YPbPrSetting.AdcRedGain, 0, 0x3FFF, 8);
if (tempValue==g_YPbPrSetting.AdcRedGain)
return FALSE;
g_YPbPrSetting.AdcRedGain=tempValue;
msAdjustAdcGain(g_YPbPrSetting.AdcRedGain,g_YPbPrSetting.AdcGreenGain,g_YPbPrSetting.AdcBlueGain);
NVRam_WriteWord(nvrYPbPrAddr(AdcRedGain), g_YPbPrSetting.AdcRedGain);
}
return TRUE;
}
WORD GetRedGainValue(void)
{
if(IsVGAInUse())
return g_PcSetting.AdcRedGain;
else
return g_YPbPrSetting.AdcRedGain;
}
BOOL AdjustGreenGain(MenuItemActionType action)
{ WORD tempValue;
if(IsVGAInUse())
{
tempValue=DecIncValue(action, g_PcSetting.AdcGreenGain, 0, 0x3FFF, 8);
if (tempValue==g_PcSetting.AdcGreenGain)
return FALSE;
g_PcSetting.AdcGreenGain=tempValue;
msAdjustAdcGain(g_PcSetting.AdcRedGain,g_PcSetting.AdcGreenGain,g_PcSetting.AdcBlueGain);
NVRam_WriteWord(nvrMonitorAddr(AdcGreenGain), g_PcSetting.AdcGreenGain);
}
else
{
tempValue=DecIncValue(action, g_YPbPrSetting.AdcGreenGain, 0, 0x3FFF, 8);
if (tempValue==g_YPbPrSetting.AdcGreenGain)
return FALSE;
g_YPbPrSetting.AdcGreenGain=tempValue;
msAdjustAdcGain(g_YPbPrSetting.AdcRedGain,g_YPbPrSetting.AdcGreenGain,g_YPbPrSetting.AdcBlueGain);
NVRam_WriteWord(nvrYPbPrAddr(AdcGreenGain), g_YPbPrSetting.AdcGreenGain);
}
return TRUE;
}
WORD GetGreenGainValue(void)
{
if(IsVGAInUse())
return g_PcSetting.AdcGreenGain;
else
return g_YPbPrSetting.AdcGreenGain;
}
BOOL AdjustBlueGain(MenuItemActionType action)
{ WORD tempValue;
if(IsVGAInUse())
{
tempValue=DecIncValue(action, g_PcSetting.AdcBlueGain, 0, 0x3FFF, 8);
if (tempValue==g_PcSetting.AdcBlueGain)
return FALSE;
g_PcSetting.AdcBlueGain=tempValue;
msAdjustAdcGain(g_PcSetting.AdcRedGain,g_PcSetting.AdcGreenGain,g_PcSetting.AdcBlueGain);
NVRam_WriteWord(nvrMonitorAddr(AdcBlueGain), g_PcSetting.AdcBlueGain);
}
else
{
tempValue=DecIncValue(action, g_YPbPrSetting.AdcBlueGain, 0, 0x3FFF, 8);
if (tempValue==g_YPbPrSetting.AdcBlueGain)
return FALSE;
g_YPbPrSetting.AdcBlueGain=tempValue;
msAdjustAdcGain(g_YPbPrSetting.AdcRedGain,g_YPbPrSetting.AdcGreenGain,g_YPbPrSetting.AdcBlueGain);
NVRam_WriteWord(nvrYPbPrAddr(AdcBlueGain), g_YPbPrSetting.AdcBlueGain);
}
return TRUE;
}
WORD GetBlueGainValue(void)
{
if(IsVGAInUse())
return g_PcSetting.AdcBlueGain;
else
return g_YPbPrSetting.AdcBlueGain;
}
//====================================================
//====================================================
#endif
//============================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -