⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mst705Ȧ

📁 MST705源代码
💻
📖 第 1 页 / 共 3 页
字号:
//====================================================
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 + -