📄 osdtv003.c
字号:
}
}
//------------------------------------------------------------
void MTVMainLR(unsigned char LR)
{
//STEP 1 : BEFORE ITEM CHANGE CLEAR OLD SELECT
ClearClientDisplay();
//STEP 2 : ITEM CHANGE
if(LR)
{
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT: ucOsdState = MENU_ITEM_CONTRAST; break;
case MENU_ITEM_CONTRAST: ucOsdState = MENU_AV_HUE; break;
case MENU_AV_HUE: ucOsdState = MENU_AV_SATURATION; break;
case MENU_AV_SATURATION: ucOsdState = MENU_TV_SYSTEM; break;
// case MENU_TV_SYSTEM: ucOsdState = MENU_SOUND_SYSTEM; break;
// case MENU_SOUND_SYSTEM: ucOsdState = MENU_AUTO_SEARCH; break;
case MENU_TV_SYSTEM: ucOsdState = MENU_AUTO_SEARCH; break;
case MENU_AUTO_SEARCH: ucOsdState = MENU_MANUAL_SEARCH; break;
case MENU_MANUAL_SEARCH: ucOsdState = MENU_TUNING; break;
case MENU_TUNING: ucOsdState = MENU_CHANNEL; break;
case MENU_CHANNEL: ucOsdState = MENU_SWAP; break;
case MENU_SWAP: ucOsdState = MENU_SKIP; break;
case MENU_SKIP: ucOsdState = MENU_BLUE; break;
case MENU_BLUE: ucOsdState = MENU_AUTO_POWER_DOWN; break;
case MENU_AUTO_POWER_DOWN: ucOsdState = MENU_ITEM_LANGUAGE; break;
case MENU_ITEM_LANGUAGE: ucOsdState = MENU_ITEM_RESET; break;
case MENU_ITEM_RESET: ucOsdState = MENU_ITEM_CLOSE; break;
case MENU_ITEM_CLOSE: ucOsdState = MENU_ITEM_BRIGHT; break;
}
}
else
{
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT: ucOsdState = MENU_ITEM_CLOSE; break;
case MENU_ITEM_CONTRAST: ucOsdState = MENU_ITEM_BRIGHT; break;
case MENU_AV_HUE: ucOsdState = MENU_ITEM_CONTRAST; break;
case MENU_AV_SATURATION: ucOsdState = MENU_AV_HUE; break;
case MENU_TV_SYSTEM: ucOsdState = MENU_AV_SATURATION; break;
// case MENU_SOUND_SYSTEM: ucOsdState = MENU_TV_SYSTEM; break;
// case MENU_AUTO_SEARCH: ucOsdState = MENU_SOUND_SYSTEM; break;
case MENU_AUTO_SEARCH: ucOsdState = MENU_TV_SYSTEM; break;
case MENU_MANUAL_SEARCH: ucOsdState = MENU_AUTO_SEARCH; break;
case MENU_TUNING: ucOsdState = MENU_MANUAL_SEARCH; break;
case MENU_CHANNEL: ucOsdState = MENU_TUNING; break;
case MENU_SWAP: ucOsdState = MENU_CHANNEL; break;
case MENU_SKIP: ucOsdState = MENU_SWAP; break;
case MENU_BLUE: ucOsdState = MENU_SKIP; break;
case MENU_AUTO_POWER_DOWN: ucOsdState = MENU_BLUE; break;
case MENU_ITEM_LANGUAGE: ucOsdState = MENU_AUTO_POWER_DOWN; break;
case MENU_ITEM_RESET: ucOsdState = MENU_ITEM_LANGUAGE; break;
case MENU_ITEM_CLOSE: ucOsdState = MENU_ITEM_RESET; break;
}
}
//STEP 3 : AFTER ITEM CHANGE DRAW SELECT
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT:
DrawBrightPage();
ShowPageIndex(1,17);
break;
case MENU_ITEM_CONTRAST:
DrawContrastPage();
ShowPageIndex(2,17);
break;
case MENU_AV_HUE:
DrawHuePage();
ShowPageIndex(3,17);
break;
case MENU_AV_SATURATION:
DrawSaturationPage();
ShowPageIndex(4,17);
break;
case MENU_TV_SYSTEM:
DrawTVSystemPage();
ShowPageIndex(5,17);
break;
case MENU_SOUND_SYSTEM:
DrawSoundSystemPage();
ShowPageIndex(6,17);
break;
case MENU_AUTO_SEARCH:
DrawAutoSearchPage();
ShowPageIndex(7,17);
break;
case MENU_MANUAL_SEARCH:
DrawManualSearchPage();
ShowPageIndex(8,17);
break;
case MENU_TUNING:
DrawTuningPage();
ShowPageIndex(9,17);
break;
case MENU_CHANNEL:
DrawChannelPage();
ShowPageIndex(10,17);
break;
case MENU_SWAP:
DrawSwapPage();
ShowPageIndex(11,17);
break;
case MENU_SKIP:
DrawSkipPage();
ShowPageIndex(12,17);
break;
case MENU_BLUE:
DrawBluePage();
ShowPageIndex(13,17);
break;
case MENU_AUTO_POWER_DOWN:
DrawAutoPowerDownPage();
ShowPageIndex(14,17);
break;
case MENU_ITEM_LANGUAGE:
DrawLanguagePage();
ShowPageIndex(15,17);
break;
case MENU_ITEM_RESET:
DrawResetPage();
ShowPageIndex(16,17);
break;
case MENU_ITEM_CLOSE:
DrawExitPage();
ShowPageIndex(17,17);
break;
}
}
//------------------------------------------------------------
void MTVMainEnter()
{
}
//------------------------------------------------------------
void DrawTVSystemPage()
{
TITLE_OUT((unsigned char code *)sTVSystem[GET_LANGUAGE]);
// Show tv type
Gotoxy(12, 5, BYTE_DISPLAY);
Textout((BYTE *)sTVType[ucTVType]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawSoundSystemPage()
{
TITLE_OUT((unsigned char code *)sSoundSystem[GET_LANGUAGE]);
// Show sound type
Gotoxy(12, 5, BYTE_DISPLAY);
Textout((BYTE *)sTVSoundType[CLoadChannelSoundType(stVDCColor.CurrentChannel)]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawAutoSearchPage()
{
TITLE_OUT((unsigned char code *)sAutoSearch[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawManualSearchPage()
{
TITLE_OUT((unsigned char code *)sManualSearch[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawTuningPage()
{
TITLE_OUT((unsigned char code *)sTuning[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawChannelPage()
{
TITLE_OUT((unsigned char code *)sChannel[GET_LANGUAGE]);
Gotoxy(12,5,BYTE_DISPLAY);
PrintfDec(stVDCColor.CurrentChannel);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawSwapPage()
{
TITLE_OUT((unsigned char code *)sSwap[GET_LANGUAGE]);
Gotoxy(12,5,BYTE_DISPLAY);
PrintfDec(stVDCColor.CurrentChannel);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
// Insert Draw Code
}
//------------------------------------------------------------
void DrawSkipPage()
{
TITLE_OUT((unsigned char code *)sSkip[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
CenterTextout((BYTE *)sSkipFunc[CLoadChannelSkip(stVDCColor.CurrentChannel)][GET_LANGUAGE],13,5);
}
//------------------------------------------------------------
void DrawBluePage()
{
TITLE_OUT((unsigned char code *)sBlue[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
CenterTextout((BYTE *)sOn_Off[_GET_BLUE_BACKGROUND()][GET_LANGUAGE],13,5);
}
//------------------------------------------------------------
void DrawAutoPowerDownPage()
{
#if(_AUTO_POWER_DOWN)
TITLE_OUT((unsigned char code *)sAutoPowerDown[GET_LANGUAGE]);
Gotoxy(12,5,BYTE_DISPLAY);
PrintfDec(_GET_POWER_DOWN_TIME() * 15);
LOADICOFNT(FntIcnExit); // andy icon not ready
ICON_OUT();
#endif
}
//------------------------------------------------------------
//--------- TVSystem ADJUST PROC ----------------------------------
void MTVSystemAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MTVSystemAdjMenu(); break;
case VK_LEFT: MTVSystemAdjLR(1); break;
case VK_RIGHT: MTVSystemAdjLR(0); break;
case VK_ENTER: MTVSystemAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MTVSystemAdjMenu()
{
ucOsdState = MENU_TV_SYSTEM;
SelectState();
// : Insert Send Save To EEPROM Msg
}
//----------------------------------------------------------------------------------------------------
bit bSearchedTVType(BYTE ucTvType)
{
switch(ucTvType)
{
case _TV_NTSC_M : // 60Hz Sound 4.5M NTSC M
#if(_TV_NTSC_M_SUPPORT)
return 1;
#endif
break;
case _TV_NTSC_4_BG : // 60Hz Sound 5.5M NTSC 4/BG
#if(_TV_NTSC_4_BG_SUPPORT)
return 1;
#endif
break;
case _TV_NTSC_4_DK : // 60Hz Sound 6.5M NTSC 4/DK
#if(_TV_NTSC_4_DK_SUPPORT)
return 1;
#endif
break;
case _TV_NTSC_4_I : // 60Hz Sound 6.0M NTSC 4/I
#if(_TV_NTSC_4_I_SUPPORT)
return 1;
#endif
break;
case _TV_PAL_M : // 60Hz Sound 4.5M PAL M
#if(_TV_PAL_M_SUPPORT)
return 1;
#endif
break;
case _TV_PAL_BG : // 50Hz Sound 5.5M PAL B/G
#if(_TV_PAL_BG_SUPPORT)
return 1;
#endif
break;
case _TV_PAL_I : // 50Hz Sound 6.0M PAL I
#if(_TV_PAL_I_SUPPORT)
return 1;
#endif
break;
case _TV_PAL_DK : // 50Hz Sound 6.5M PAL D/K
#if(_TV_PAL_DK_SUPPORT)
return 1;
#endif
break;
case _TV_PAL_N : // 50Hz Sound 4.5M PAL N
#if(_TV_PAL_N_SUPPORT)
return 1;
#endif
break;
case _TV_SECAM_BG : // 50Hz Sound 5.5M SECAM B/G
#if(_TV_SECAM_BG_SUPPORT)
return 1;
#endif
break;
case _TV_SECAM_DK : // 50Hz Sound 6.5M SECAM D/K
#if(_TV_SECAM_DK_SUPPORT)
return 1;
#endif
break;
case _TV_SECAM_L : // 50Hz Sound 6.5M SECAM L
#if(_TV_SECAM_L_SUPPORT)
return 1;
#endif
break;
case _TV_SECAM_LL : // 50Hz Sound 6.5M Secam L'
#if(_TV_SECAM_LL_SUPPORT)
return 1;
#endif
break;
} // end switch
return 0;
}
//----------------------------------------------------------------------------------------------------
void MTVSystemAdjLR(BYTE LR)
{
for(pData[15] = 0; pData[15] < (_MAX_TV_TYPE + 1); pData[15]++)
{
ucTVType = ValueInRangeChange(0, _MAX_TV_TYPE, ucTVType, LR, 1);
if (bSearchedTVType(ucTVType))
break;
}
OSDClear(5,1,12,8,0x00,BYTE_DISPLAY);
Gotoxy(12, 5, BYTE_DISPLAY);
Textout((BYTE *)sTVType[ucTVType]);
// Save adjust result
CSaveChannelColorType(stVDCColor.CurrentChannel, ucTVType);
rp_CI2CWrite9886(ucTVType); // set 9886
}
//----------------------------------------------------------------------------------------------------
void MTVSystemAdjEnter()
{
// : Not Process
}
//----------------------------------------------------------------------------------------------------
//--------- Sound System ADJUST PROC ----------------------------------
void MSoundSystemAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MSoundSystemAdjMenu(); break;
case VK_LEFT: MSoundSystemAdjLR(1); break;
case VK_RIGHT: MSoundSystemAdjLR(0); break;
case VK_ENTER: MSoundSystemAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MSoundSystemAdjMenu()
{
ucOsdState = MENU_SOUND_SYSTEM;
SelectState();
// : Insert Send Save To EEPROM Msg
}
//----------------------------------------------------------------------------------------------------
void MSoundSystemAdjLR(unsigned char LR)
{
BYTE ucSoundType = CLoadChannelSoundType(stVDCColor.CurrentChannel);
ucSoundType = ValueInRangeChange(0, 3, ucSoundType, LR, 1);
Gotoxy(12, 5, BYTE_DISPLAY);
Textout((BYTE *)sTVSoundType[ucSoundType]);
// Save adjust result
CSaveChannelSoundType(stVDCColor.CurrentChannel, ucSoundType);
// rp_CWrite9886(ucSoundType); // set 9886
}
//----------------------------------------------------------------------------------------------------
void MSoundSystemAdjEnter()
{
// : Not Process
}
//----------------------------------------------------------------------------------------------------
//--------- Auto Search PROC ----------------------------------
void MAutoSearchAdjProc()
{
switch(ucKeyMessage)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -