📄 t100.c
字号:
// 2 1 0
OSD_UpdateMain(1); //clean cursor
if(cursor1<3)
{
if(left)
{
if(cursor1<2)
cursor1++;
else
cursor1=0;
}
else
{
if(cursor1>0)
cursor1--;
else
cursor1=2;
}
}
else
{
if(left)
{
if(cursor1<5)
cursor1++;
else
cursor1=3;
}
else
{
if(cursor1>3)
cursor1--;
else
cursor1=5;
}
}
OSD_UpdateMain(0); //display cursor
}
else if(window==SUB1_D) //OSD sub_menu
{
switch(cursor1)
{
case SYSTEM : OSD_System();
OSD_UpdateSystem(0);
break;
case SCREEN : OSD_Screen();
OSD_UpdateScreen(0);
break;
case VIDEO : OSD_Video();
OSD_UpdateVideo(0);
break;
case AUDIO : OSD_Audio();
OSD_UpdateAudio(0);
break;
default : OSDExit();
OSD_enable = 0;
break;
}
}
else if(window==RESET_D)
{
if(reset_valid)
{
if(right)
{
OSD_UpdateReset(1);
reset_valid = 0;
OSD_UpdateReset(0);
}
}
else
{
if(left)
{
OSD_UpdateReset(1);
reset_valid = 1;
OSD_UpdateReset(0);
}
}
}
left=0;
right=0;
OSD_time=0;
}
void OSD_Enter(void)
{
uCHAR temp;
if(window==MAIN_D)
{
if(cursor1==DEFAULT)
OSD_OpenReset();
else OSD_OpenSub();
}
else if(window==SUB1_D)
{
switch(cursor1)
{
case SOURCE : if(cursor2!=EXIT)
{
temp = cursor2; //save new selection
cursor2 = CurMode; //cursor2 == old position
CurMode = temp; //valid new source
OSD_UpdateSource(1); //clear old selection (color normal)
cursor2 = temp; //cursor2 == new position
OSD_UpdateSource(1); //clear cursor from new position
cursor2 = EXIT; //cursor2 to EXIT
OSD_UpdateSource(0); //display cursor on EXIT
//and change the color of the source selected
//OSDExit();
//OSD_enable = 0;
}
else
OSD_OpenMain();
break;
case SCREEN : switch(cursor2)
{
case SCR_FULL : VideoStatus|=SCREEN_FULL;
if(!bFULL_43)
{
OSD_UpdateScreen(1);
bFULL_43 = 1; //1: FULL
SetMode();
OSD_UpdateScreen(0);
}
break;
case SCR_NORMAL : VideoStatus&=~SCREEN_FULL;
if(bFULL_43)
{
OSD_UpdateScreen(1);
bFULL_43 = 0; //0: 4:3
SetMode();
OSD_UpdateScreen(0);
}
break;
case EXIT : OSD_OpenMain();
default : break;
}
break;
default : if(cursor2==EXIT) OSD_OpenMain();
break;
} //end switch
} //end sub menu
else if(window==RESET_D)
{
if(reset_valid)
{
KSP7001_Default();
OSDExit();
OSD_OpenMain();
}
else
OSD_CleanReset();
}
enter=0;
OSD_time=0;
}
void OSD_System(void)
{
switch(cursor2)
{
case TILT : //tilt=!tilt;
if(TiltFlag0&TILT_AUTO) //if tilt==auto
TiltFlag0&=~TILT_AUTO; //manuel
else
TiltFlag0|=TILT_AUTO; //auto
break;
case IN_OUT : if(right)
{
if(MinoutState==INOUT_3) //0 none, 1 level-1,
MinoutState=INOUT_NONE; //2 level-2, 3 level-3
else
MinoutState++;
}
else
{
if(MinoutState==INOUT_NONE)
MinoutState=INOUT_3;
else
MinoutState--;
}
break;
case RANGE : if(right)
{
if(TiltLimit==ANGLE_5) //0 auto, 1 1-3,
TiltLimit=ANGLE_AUTO; //2 1-4, 3 1-5
else
TiltLimit++;
}
else
{
if(TiltLimit==ANGLE_AUTO)
TiltLimit=ANGLE_5;
else
TiltLimit--;
}
break;
case TV_PICTURE : if(CurMode&MODE_TV)
{ //0 NTSC, 1 PAL, 2 CHINESE
if(right)
{
if(ChannelType==TV_CHN) ChannelType=TV_NTSC;
else ChannelType++;
}
else
{
if(ChannelType==TV_NTSC) ChannelType=TV_CHN;
else ChannelType--;
}
if( (ChannelType==TV_NTSC) ||
(left&&(ChannelType==TV_CHN)) ||
(right&&(ChannelType==TV_PAL)) )
{
cursor2=TV_SOUND;
OSD_UpdateSystem(1);
cursor2=TV_PICTURE;
}
}
break;
case TV_SOUND : if(ChannelType!=TV_NTSC)
{ //3 sound-3, 2 sound-2, 1 sound-1
if(right)
{
if(PalType==PAL_BG) PalType=PAL_DK;
else PalType--;
}
else
{
if(PalType==PAL_DK) PalType=PAL_BG;
else PalType++;
}
}
break;
case BLIGHT : //backlight=!backlight;
if(VideoStatus&ILL_BRIGHT)
VideoStatus&=~ILL_BRIGHT; //light off
else
VideoStatus|=ILL_BRIGHT; //light on
break;
default : break;
}
}
void OSD_Screen(void)
{
if(cursor2==SCR_PICTURE)
{
// direction=!direction;
if(VideoStatus&PIC_INVERSE)
VideoStatus&=~PIC_INVERSE;
else
VideoStatus|=PIC_INVERSE;
}
if(VideoStatus&PIC_INVERSE)
{
bUP_DOWN = 0;
bLEFT_RIGHT = 0;
}
else
{
bUP_DOWN = 1;
bLEFT_RIGHT = 1;
}
SetUD_LR();
}
void OSD_Video(void)
{
unsigned char video_set=0;
switch(cursor2)
{
case V_BRIGHT : if(right)
{
if(bright<BRIGHT_MAX)
bright++;
}
else
{
if(bright>BRIGHT_MIN)
bright--;
}
if(bright==BRIGHT_MIN) video_set = 0;
else if(bright==BRIGHT_MAX) video_set = 255;
else video_set = (bright-1) * 5 + 7;
I2CWriteByte(TW100,VBRIGHT,video_set);
break;
case V_CONTRAST : if(right)
{
if(contrast<CONTRAST_MAX)
contrast++;
}
else
{
if(contrast>CONTRAST_MIN)
contrast--;
}
if(contrast==CONTRAST_MIN) video_set = 0;
else if(contrast==CONTRAST_MAX) video_set = 255;
else video_set = (contrast - 1) * 5 + 7;
I2CWriteByte(TW100,VCONTRAST,video_set);
break;
case V_COLOR : if(right)
{
if(color<COLOR_MAX)
color++;
}
else
{
if(color>COLOR_MIN)
color--;
}
if(color==COLOR_MIN) video_set = 0;
else if(color==COLOR_MAX) video_set = 255;
else video_set = (color - 1) * 5 + 7;
I2CWriteByte(TW100,VCOLOR,video_set);
break;
case V_SHARP : if(right)
{
if(sharp<SHARP_MAX)
sharp++;
}
else
{
if(sharp>SHARP_MIN)
sharp--;
}
I2CWriteByte(PAGE2_ADDR,VSHARP,(sharp*2+1));
break;
default : break;
}
}
void OSD_Audio(void)
{
switch(cursor2)
{
case A_BASS : if(right) //0(-7)->14(+7)
{
if(Aud_BassLevel<BASS_MAX)
Aud_BassLevel++;
}
else
{
if(Aud_BassLevel>BASS_MIN)
Aud_BassLevel--;
}
break;
case A_TREBLE : if(right)
{
if(Aud_TrebleLevel<TREBLE_MAX)
Aud_TrebleLevel++;
}
else
{
if(Aud_TrebleLevel>TREBLE_MIN)
Aud_TrebleLevel--;
}
break;
case A_BAL : if(right)
{
if(Aud_BalanceLevel<BAL_MAX)
Aud_BalanceLevel++;
}
else
{
if(Aud_BalanceLevel>BAL_MIN)
Aud_BalanceLevel--;
}
break;
case A_FADE : if(right)
{
if(Aud_FaderLevel<FADE_MAX)
Aud_FaderLevel++;
}
else
{
if(Aud_FaderLevel>FADE_MIN)
Aud_FaderLevel--;
}
break;
case A_SUBW : //subwoofer=!subwoofer;
if(AudioStatus&AUDIO_STS_SUBW)
AudioStatus&=~AUDIO_STS_SUBW;
else
AudioStatus|=AUDIO_STS_SUBW;
break;
case A_BEEP : //beep=!beep;
if(AudioStatus&AUDIO_STS_BEEP_EN)
AudioStatus&=~AUDIO_STS_BEEP_EN;
else
AudioStatus|=AUDIO_STS_BEEP_EN;
break;
case A_VOL : if(right)
{
if(Aud_IniVol<VOL_MAX)
Aud_IniVol++;
}
else
{
if(Aud_IniVol>VOL_MIN)
Aud_IniVol--;
}
break;
default : break;
}
}
void OSD_OpenSub(void)
{
OSDExit(); //clear main page
window=SUB1_D ;
switch(cursor1)
{
case SYSTEM : cursor2=SYS_MAX; //system menu
OSD_OpenSystem();
break;
case SCREEN : cursor2 = SCR_MAX; //screen menu
OSD_OpenScreen();
break;
case VIDEO : cursor2 = VIDEO_MAX; //video menu
OSD_OpenVideo();
break;
case AUDIO : cursor2 = AUDIO_MAX; //audio menu
OSD_OpenAudio();
break;
case SOURCE : cursor2 = SCE_MAX; //source menu
OSD_OpenSource();
break;
default : OSDExit();
OSD_enable = 0;
break;
}
}
//****************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -