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

📄 menufunc_new_pal.c

📁 lcd tv : MST9E19A原代码
💻 C
📖 第 1 页 / 共 4 页
字号:
WORD GetOsdVpositionValue(void)
{
    return GetScale100Value(g_SysSetting.OSDVPos,MIN_OSD_V_POS,MAX_OSD_V_POS);
}

BOOL AdjustOsdDurationValue(MenuItemActionType action)
{
    g_SysSetting.OSDTime = DecIncValue(action, g_SysSetting.OSDTime, MIN_OSD_DURATION, MAX_OSD_DURATION, 1);
    return TRUE;
}
WORD GetOsdDurationValue(void)
{
    return GetScale100Value(g_SysSetting.OSDTime, MIN_OSD_DURATION, MAX_OSD_DURATION);
}

BOOL AdjustOsdBlendValue(MenuItemActionType action)
{
    g_SysSetting.OSDBlend = DecIncValue(action, g_SysSetting.OSDBlend, 0, 8, 1);
    msAdjustOsdBlending(g_SysSetting.OSDBlend);

    return TRUE;
}
WORD GetOsdHalftoneValue(void)
{
    return GetScale100Value(g_SysSetting.OSDBlend, 0, 8);
}

BOOL ExecMemoryRecall(void)
{
    devAudioSetVolume(0);
    // Reset EEPROM
    rmWriteByte(RM_EEPROM_ID_ADDRESS, USR_EEPROM_ID+1); // reset EEPROM ID
    usrCheckEEPROM();

    AdjustOsdDurationValue(MIA_NOTHING);
    AdjustOsdBlendValue(MIA_NOTHING);
    InputSourceSwitch( g_SysSetting.ucInputSourceType );

    return TRUE;
}

//===============chanel==========================
BOOL AdjustColorSystem(MenuItemActionType action)
{
    BYTE ucBank,ucValue;

    g_PalCurChannelData.ucColorSystem = DecIncValue_Cycle( action, g_PalCurChannelData.ucColorSystem, 0, TV_COLOR_SECAM, 1 );

    ucBank = msReadByte(BK0_00);
    msWriteByte(BK0_00, REG_BANK_AFEC);
    ucValue = msReadByte(BK7_CE);

    switch (g_PalCurChannelData.ucColorSystem)
    {
        case TV_COLOR_PAL:
            msWriteByte(BK7_CE,(ucValue & 0xF0) | _BIT0);
            break;

        case TV_COLOR_SECAM:
            msWriteByte(BK7_CE,(ucValue & 0xF0) |( _BIT1 + _BIT0));
            break;

        default:
            msWriteByte(BK7_CE,(ucValue & 0xF0));
            break;            
    }        
    msWriteByte(BK0_00, ucBank);

    PAL_SaveChannelData(PAL_LoadChannelIdx( g_TVChSetting.ucCurChannelNO), &g_PalCurChannelData);
    return TRUE;
}

BOOL AdjustSoundSystem(MenuItemActionType action)
{
    g_PalCurChannelData.ucSoundSystem = DecIncValue_Cycle( action, g_PalCurChannelData.ucSoundSystem, TV_SOUND_AUTO, TV_SOUND_NUMS-1, 1 );

    switch( g_PalCurChannelData.ucSoundSystem )
    {
        case TV_SOUND_BG:
            g_PalCurChannelData.ucAutoSound = _BIT7|AU_SYS_BG_A2;
            break;
        case TV_SOUND_I:
            g_PalCurChannelData.ucAutoSound = AU_SYS_I_NICAM;   //_BIT7|
            break;
        case TV_SOUND_DK:
            g_PalCurChannelData.ucAutoSound = _BIT7|AU_SYS_DK1_A2;
            break;
        case TV_SOUND_L:
        case TV_SOUND_LL:
            g_PalCurChannelData.ucAutoSound = AU_SYS_L_NICAM;   //_BIT7|
            break;
        case TV_SOUND_M:
            g_PalCurChannelData.ucAutoSound = _BIT7|AU_SYS_M_A2;
            break;
        default:
            g_PalCurChannelData.ucAutoSound = AU_SYS_NOT_READY;
    }
    
    AuProcessSetMute(AUDIO_PATH_0, TRUE);

    PAL_AdjustSoundSystem();    //Bruce.Ding add 060906 16:39 --[audio manager]

    return TRUE;
}

BOOL ExecTVChannelAutoSearch(void)
{
    if (!IsTVInUse())
    {
        return FALSE;
    }
    else
    {       
        TV_ChannelSearchInit(TVSearch_AUTO);        
        return TRUE;
    }
}

BOOL ExecTVChannelManualSearch(void)
{
    if (!IsTVInUse())
    {
        return FALSE;
    }
    else
    {       
        g_ucTVChannelAutoScanCount = g_TVChSetting.ucCurChannelNO;
        return TRUE;
    }
}

BOOL ExecTVChannelProgramInit(void)
{
    g_ucProgramCh = g_TVChSetting.ucCurChannelNO;
    g_ucProgramMode = PAL_PROG_MODE_NAVI;
    g_ucProgramCh2 = 0xFF;
    g_ucProgramPage = 0xFF;

    PAL_MenuRefreshProgPage();

    return TRUE;
}

BOOL AdjustChannelAftMode(MenuItemActionType action)
{
    BYTE chIdx;

    action = action;
    if (g_PalCurChannelData.bAFC)
    {
        g_PalCurChannelData.bAFC= FALSE;
    }
    else
    {
        g_PalCurChannelData.bAFC= TRUE;
    }
    chIdx = PAL_LoadChannelIdx( g_TVChSetting.ucCurChannelNO);
    PAL_SaveChannelData(chIdx, &g_PalCurChannelData);

    return TRUE;
}

BOOL AdjustChannelSkipMode(MenuItemActionType action)
{
    action = action;

    if (usrCheckValidChanel(g_TVChSetting.ucCurChannelNO))
    {
        usrSetValidChanel(g_TVChSetting.ucCurChannelNO, FALSE);
    }
    else
    {
        usrSetValidChanel(g_TVChSetting.ucCurChannelNO, TRUE);
    }

    return TRUE;
}

BOOL AdjustProgramAreaSelect(MenuItemActionType action)
{
    g_SysSetting.ProgramArea=DecIncValue_Cycle(action,g_SysSetting.ProgramArea,0,COUNTRYID_NUMS-1,1 );
    usrSaveSystemSetting();
    return TRUE;
}

//==============chanel auto scan==========================
BOOL AdjustChannelFineTune( MenuItemActionType action )
{
    static WORD wOldFreq;
    BYTE chIdx;

    //disable AFC handler
    if(g_PalCurChannelData.bAFC)//close AFT mode
    {
        g_PalCurChannelData.bAFC = FALSE;
        chIdx = PAL_LoadChannelIdx( g_TVChSetting.ucCurChannelNO);
        PAL_SaveChannelData(chIdx, &g_PalCurChannelData);
    }

   if(abs(wOldFreq-g_PalCurChannelData.wFreq)>70)
   {
        wOldFreq = g_PalCurChannelData.wFreq;   //save the original frequency if user want to change the frequency.
   }

   //check frequency range
    if((abs(wOldFreq-g_PalCurChannelData.wFreq)<64)||
        ((wOldFreq>g_PalCurChannelData.wFreq)&&(action==MIA_INCVALUE))||
        ((wOldFreq<g_PalCurChannelData.wFreq)&&(action==MIA_DECVALUE)))
    {
        g_PalCurChannelData.wFreq = DecIncValue( action, g_PalCurChannelData.wFreq, PAL_FREQ_MIN, PAL_FREQ_MAX, 1);
        devTunerSetFreq( g_PalCurChannelData.wFreq );
        chIdx = PAL_LoadChannelIdx( g_TVChSetting.ucCurChannelNO);
        PAL_SaveChannelData(chIdx, &g_PalCurChannelData);
    }
    return TRUE;
}

BOOL AdjustManualSearchChannel(MenuItemActionType action)
{
    BYTE chIdx;

    g_TVChSetting.ucCurChannelNO = DecIncValue_Cycle( action, g_TVChSetting.ucCurChannelNO, 0, PAL_MAX_CHANNEL_NUM - 1, 1);

    chIdx = PAL_LoadChannelIdx( g_TVChSetting.ucCurChannelNO );
    PAL_LoadChannelData( chIdx, &g_PalCurChannelData );

    TV_SelectChannel( g_TVChSetting.ucCurChannelNO );

    return TRUE;
}

BOOL AdjustChannelManualSearch(MenuItemActionType action)
{
    if( MIA_INCVALUE == action )
    {
        TV_ChannelSearchInit(TVSearch_UP);
    }
    else
    {
        TV_ChannelSearchInit(TVSearch_DOWN);
    }
    return TRUE;
}

WORD GetSearchFreqPercentage(void)
{
    return GetScale100Value( g_PalCurChannelData.wFreq, PAL_FREQ_MIN, PAL_FREQ_MAX );
}

WORD GetCurChannelFreq_1(void)
{
    return g_PalCurChannelData.wFreq/STEP_1M;
}

WORD GetCurChannelFreq_2(void)
{
    return (g_PalCurChannelData.wFreq%STEP_1M)*100/STEP_1M;
}

WORD GetSearchChannel(void)
{
    return g_ucTVChannelAutoScanCount;
}

BOOL ExecTVChannelInc(void)
{
    TV_SelectChannel( TV_GetIncChannel( g_TVChSetting.ucCurChannelNO ) );
    return TRUE;
}
BOOL ExecTVChannelDec(void)
{
    TV_SelectChannel( TV_GetDecChannel( g_TVChSetting.ucCurChannelNO ) );
    return TRUE;
}
BOOL ExecTVChannelRet(void)
{
    TV_SelectChannel(  g_TVChSetting.ucPreChannelNO );
    return TRUE;
}

//===============pc color temp========================
BOOL AdjustRedColor(MenuItemActionType action)
{
    if( SrcTypeIsPC())
    {
        g_PCColorTempSetting.RedColor = DecIncValue(action, g_PCColorTempSetting.RedColor, MIN_PC_R_GAIN, MAX_PC_R_GAIN, 2);
        msAdjustPCRGB( 0, g_PCColorTempSetting.RedColor, g_PCColorTempSetting.GreenColor, g_PCColorTempSetting.BlueColor );
    }
    else if(SrcTypeIsVideo())
    {
        g_VideoColorTempSetting.RedColor=  DecIncValue(action, g_VideoColorTempSetting.RedColor, MIN_PICTURE_R_GAIN, MAX_PICTURE_R_GAIN, 2);
        msAdjustVideoRGB( 0, g_VideoColorTempSetting.RedColor, g_VideoColorTempSetting.GreenColor, g_VideoColorTempSetting.BlueColor );
    }
    return TRUE;
}

WORD GetPcRedColorValue(void)
{
    return GetScale100Value(g_PCColorTempSetting.RedColor, MIN_PC_R_GAIN, MAX_PC_R_GAIN);
}

//----------------------------------------------------
BOOL AdjustGreenColor(MenuItemActionType action)
{
    if( SrcTypeIsPC())
    {
        g_PCColorTempSetting.GreenColor = DecIncValue(action, g_PCColorTempSetting.GreenColor, MIN_PC_G_GAIN, MAX_PC_G_GAIN, 2);
        msAdjustPCRGB( 0, g_PCColorTempSetting.RedColor, g_PCColorTempSetting.GreenColor, g_PCColorTempSetting.BlueColor );
    }
    else if(SrcTypeIsVideo())
    {
        g_VideoColorTempSetting.GreenColor=  DecIncValue(action, g_VideoColorTempSetting.GreenColor, MIN_PICTURE_G_GAIN, MAX_PICTURE_G_GAIN, 2);
        msAdjustVideoRGB( 0, g_VideoColorTempSetting.RedColor, g_VideoColorTempSetting.GreenColor, g_VideoColorTempSetting.BlueColor );
    }
    return TRUE;
}
WORD GetPcGreenColorValue(void)
{
    return GetScale100Value(g_PCColorTempSetting.GreenColor, MIN_PC_G_GAIN, MAX_PC_G_GAIN);
}
//----------------------------------------------------
BOOL AdjustBlueColor(MenuItemActionType action)
{
    if( SrcTypeIsPC())
    {
        g_PCColorTempSetting.BlueColor = DecIncValue(action, g_PCColorTempSetting.BlueColor, MIN_PC_B_GAIN, MAX_PC_B_GAIN, 2);
        msAdjustPCRGB( 0, g_PCColorTempSetting.RedColor, g_PCColorTempSetting.GreenColor, g_PCColorTempSetting.BlueColor );
    }
    else if(SrcTypeIsVideo())
	{
	  g_VideoColorTempSetting.BlueColor=  DecIncValue(action, g_VideoColorTempSetting.BlueColor, MIN_PICTURE_R_GAIN, MAX_PICTURE_R_GAIN, 2);
      msAdjustVideoRGB( 0, g_VideoColorTempSetting.RedColor, g_VideoColorTempSetting.GreenColor, g_VideoColorTempSetting.BlueColor );
    }
    return TRUE;
}
WORD GetPcBlueColorValue(void)
{
    return GetScale100Value(g_PCColorTempSetting.BlueColor, MIN_PC_B_GAIN, MAX_PC_B_GAIN);
}

//===============volume==========================
BOOL AdjustVolume(MenuItemActionType action)
{
    g_SoundSetting.Volume = DecIncValue(action, g_SoundSetting.Volume, MIN_SOUND_VOLUME, MAX_SOUND_VOLUME, 1);
    g_bAudioMute = FALSE;
    devAudioVolumeCtl( AUDIO_VOLUME_TURN_ON );
    return TRUE;
}

WORD GetVolumeValue(void)
{
    return GetScale100Value(g_SoundSetting.Volume, MIN_SOUND_VOLUME, MAX_SOUND_VOLUME);
}

//===============auto config=========================
#if ENABLE_POWER_SAVING
BOOL ResetPowerDownCounter(void)
{
    if (SrcTypeIsPC())
    {
        g_ucPowerDownCounter = POWER_SAVING_COUNTER;
    }

    return TRUE;
}
#endif

BOOL AutoConfig(void)
{
    if (msAutoGeometry(AUTO_TUNE_BASIC)) // auto-tune
    {
        g_ModeSetting.AutoSign++;
        usrSaveModeSetting( &(g_ModeSetting), g_SrcInfo.ucModeRamIndex ); // store mode setting

        return TRUE;
    }
    return FALSE;
}

//=================input message=================
WORD GetHorizontalFreqValue(void)
{
    return g_SrcInfo.wModeHfreq;
}

WORD GetVerticalFreqValue(void)
{
    return g_SrcInfo.wModeVfreq;
}

//////////////////////////////////////////////////////////////////////
//FACTORY PART
//////////////////////////////////////////////////////////////////////
BOOL ChangeSourceInput(MenuItemActionType action)
{
    g_SysSetting.ucInputSourceType = DecIncValue_Cycle( action, g_SysSetting.ucInputSourceType ,0,INPUTSOURCE_NUMS-1,1);
    usrSaveMenu(USER_SAVE_SOURCE_DIRECTLY);
    InputSourceSwitch( g_SysSetting.ucInputSourceType );
    return TRUE;
}
//Option
//////////////////////////////////////////////////////////////////
BOOL AdjustFactoryEEpromAddress(MenuItemActionType action)
{
    g_wEEpromAddress = DecIncValue_Cycle( action, g_wEEpromAddress,0,RM_MAX_ADDRESS,1);
    g_ucEEpromData = rmReadByte(g_wEEpromAddress);
    return TRUE;
}
WORD GetFactoryEEpromAddress(void)
{
    return g_wEEpromAddress;
}
BOOL AdjustFactoryEEpromData(MenuItemActionType action)
{
    g_ucEEpromData = DecIncValue_Cycle( action, g_ucEEpromData,0,0xff,1);
    return TRUE;
}
WORD GetFactoryEEpromData(void)
{
    return g_ucEEpromData;
}
BOOL ExecFactoryEEpromSave(void)
{
    BYTE ucTemp;

    g_bEEpromSaveDone= 1;
    rmWriteByte(g_wEEpromAddress,g_ucEEpromData);
    ucTemp =rmReadByte(g_wEEpromAddress);

    if(ucTemp == g_ucEEpromData)
        g_bEEpromSave= 1;
    else
        g_bEEpromSave= 0;

    return TRUE;
}
//ADC
WORD GetFactoryADCROffsetValue(void)
{
    return g_AdcSetting.RedOffset;
}

BOOL AdjustFactoryADCROffset(MenuItemActionType action)
{
    g_AdcSetting.RedOffset = DecIncValue(action, g_AdcSetting.RedOffset, 0, 255, 1);
    msAdjustAdcOffset(g_AdcSetting.RedOffset, g_AdcSetting.GreenOffset, g_AdcSetting.BlueOffset);
    return TRUE;
}
WORD GetFactoryADCGOffsetValue(void)
{
    return g_AdcSetting.GreenOffset;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -