📄 main.c
字号:
else
memcpy(&buf[36],DIS,3);
if ( Fac_Clr )
{
buf[42] = 0x0D;
buf[43] = 0x32;
buf[44] = 0x31;
buf[45] = 0x28;
}
}
Write_OSDCode(buf, 8, 6, 64); //Write OSD Code buffer
}
if ( Menu_mode == 2 )
{
memcpy(buf,UserOSD,10);
for (i=10; i<20; i++)
buf[i] = 0x54;
buf[10+Menu_item] = 0x5C;
Write_OSDCode(buf, 10, 2, 16); //Write OSD Code buffer
}
}
void Factory_Key_Check()
{
if ( Key )
{
if (OnOff && KeyFlag && Key == MENU )
{
KeyFlag = 0;
if ( Menu_mode == 1 )
Menu_mode = 2;
else
Menu_mode = 1;
Menu_item = 0;
Factory_Menu_Init();
}
if (KeyFlag == 1 || KeyTimer > 60 )
{
if ( KeyFlag )
KeyFlag = 0;
else
KeyTimer = 45;
if ( Menu_mode == 1 )
{
switch ( Key )
{
case UP:
if ( Menu_item > 0 )
Menu_item--;
else
Menu_item = 7;
Factory_Menu_HL();
break;
case DOWN:
if ( Menu_item < 7 )
Menu_item++;
else
Menu_item = 0;
Factory_Menu_HL();
break;
case LEFT:
case RIGHT:
switch ( Menu_item )
{
case 0:
ColorEN ^= 0x01;
break;
case 1:
ColorEN ^= 0x02;
break;
case 2:
ColorEN ^= 0x04;
break;
case 3:
SoundEN ^= 0x01;
break;
case 4:
SoundEN ^= 0x02;
break;
case 5:
SoundEN ^= 0x04;
break;
case 6:
SoundEN ^= 0x08;
break;
case 7:
Factory_Clear_All();
break;
}
Factory_Menu_1();
Save_Factory();
}
}
else if ( Menu_mode == 2 )
{
switch ( Key )
{
case UP:
switch ( UserOSD[Menu_item] )
{
case 0x59:
UserOSD[Menu_item] = 0x0A;
break;
case 0x23:
UserOSD[Menu_item] = 0x00;
break;
case 0x09:
UserOSD[Menu_item] = 0x54;
break;
case 0x57:
UserOSD[Menu_item] = 0x77;
break;
case 0x7F:
UserOSD[Menu_item] = 0x59;
break;
default :
UserOSD[Menu_item]++;
break;
}
Save_Factory();
break;
case DOWN:
switch ( UserOSD[Menu_item] )
{
case 0x59:
UserOSD[Menu_item] = 0x7F;
break;
case 0x77:
UserOSD[Menu_item] = 0x57;
break;
case 0x54:
UserOSD[Menu_item] = 0x09;
break;
case 0x00:
UserOSD[Menu_item] = 0x23;
break;
case 0x0A:
UserOSD[Menu_item] = 0x59;
break;
default :
UserOSD[Menu_item]--;
break;
}
Save_Factory();
break;
case LEFT:
if ( Menu_item > 0)
Menu_item--;
else
Menu_item = 9;
break;
case RIGHT:
if ( Menu_item < 9)
Menu_item++;
else
Menu_item = 0;
break;
}
Factory_Menu_1();
}
}
}
}
void Factory_Clear_All()
{
BYTE i;
if ( Fac_Clr )
return;
for (i=0;i<16;i++)
{
buf[i] = 0;
}
I2C_Write(EEPROM_WRID, 0x00, 0x10, buf);
Delay(3000);
Fac_Clr = 1;
}
void Menu_Hue_Down()
{
if (Hue > 0 ) Hue--;
S_Hue = Hue;
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Hue_Up()
{
if (Hue < 50 ) Hue++;
S_Hue = Hue;
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Brightness_Down()
{
if (Brightness > 0 ) Brightness--;
S_Brightness = Brightness;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Brightness_Up()
{
if (Brightness < 50 ) Brightness++;
S_Brightness = Brightness;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Contrast_Down()
{
if (Contrast > 0 ) Contrast--;
S_Contrast = Contrast;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Contrast_Up()
{
if (Contrast < 50 ) Contrast++;
S_Contrast = Contrast;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Saturation_Down()
{
if (Saturation > 0 ) Saturation--;
S_Saturation = Saturation;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Saturation_Up()
{
if (Saturation < 50 ) Saturation++;
S_Saturation = Saturation;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Sharpen_Down()
{
if (Sharpen > 0 ) Sharpen--;
S_Sharpen = Sharpen;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Sharpen_Up()
{
if (Sharpen < 50 ) Sharpen++;
S_Sharpen = Sharpen;
Set_VideoPP(0);
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Screen_Switch()
{
Screen_mode = 1 - Screen_mode ;
if (Source_type <= RGBHV )
{
V46X_ScreenMode(Screen_mode);
}
Show_MainMenu1();
Save_Parameter();
}
void Menu_Language_Down()
{
Language_Down();
Show_MainMenu_Init();
Save_Parameter();
}
void Menu_Language_Up()
{
Language_Up();
Show_MainMenu_Init();
Save_Parameter();
}
void Menu_Mirror_Switch()
{
HV_Change();
Show_MainMenu1();
Save_Parameter();
}
void Menu_Blue_Switch()
{
if ( Blue_back )
Blue_back = 0;
else
Blue_back = 1;
Screen_Blue();
Show_MainMenu1();
Save_Parameter();
}
void Menu_Color_Down()
{
ColorSystem_Down();
V46X_ColorSystem(Video_SYS);
if ( Video_SYS == NTSC || Video_SYS == PALM || Video_SYS == PALN )
SIF = M;
else if ( Video_SYS == PAL && SIF != BG && SIF != DK && SIF != I )
SIF = BG;
else if ( Video_SYS == SECAM && SIF != BG && SIF != DK && SIF != L )
SIF = BG;
else if ( Video_SYS == NTSC443 )
SIF = M;
Set_CS(Video_SYS);
Set_SIF(SIF);
Set_DEMOD();
Show_MainMenu1();
Save_Channel();
}
void Menu_Color_Up()
{
ColorSystem_Up();
V46X_ColorSystem(Video_SYS);
if ( Video_SYS == NTSC || Video_SYS == PALM || Video_SYS == PALN )
SIF = M;
else if ( Video_SYS == PAL && SIF != BG && SIF != DK && SIF != I )
SIF = BG;
else if ( Video_SYS == SECAM && SIF != BG && SIF != DK && SIF != L )
SIF = BG;
else if ( Video_SYS == NTSC443 )
SIF = M;
Set_CS(Video_SYS);
Set_SIF(SIF);
Set_DEMOD();
Show_MainMenu1();
Save_Channel();
}
void Menu_Sound_Down()
{
// return;
SoundSystem_Down();
Set_CS(Video_SYS);
Set_SIF(SIF);
Set_DEMOD();
Show_MainMenu1();
Save_Channel();
}
void Menu_Sound_Up()
{
// return;
SoundSystem_Up();
Set_CS(Video_SYS);
Set_SIF(SIF);
Set_DEMOD();
Show_MainMenu1();
Save_Channel();
}
void Menu_Channel_Down()
{
if ( Channel > 0 )
Channel -- ;
else
Channel = 99;
Show_Channel();
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Channel_Up()
{
if ( Channel < 99 )
Channel ++ ;
else
Channel = 0;
Show_Channel();
Show_MainMenu1();
Show_MainMenu2();
Save_Parameter();
}
void Menu_Skip_Switch()
{
Skip = !Skip;
Show_MainMenu1();
Save_Channel();
}
void Menu_Band_Down()
{
Fine_Turn = 0x80;
if ( Fp_Position >= Fp_UHF_Start )
Fp_Position = Set_VH();
else if ( Fp_Position >= Fp_VH_Start )
Fp_Position = Set_VL();
else
Fp_Position = Set_UHF();
Show_MainMenu1();
Show_MainMenu2();
Save_Channel();
}
void Menu_Band_Up()
{
Fine_Turn = 0x80;
if ( Fp_Position >= Fp_UHF_Start )
Fp_Position = Set_VL();
else if ( Fp_Position >= Fp_VH_Start )
Fp_Position = Set_UHF();
else
Fp_Position = Set_VH();
Show_MainMenu1();
Show_MainMenu2();
Save_Channel();
}
void Menu_Auto_Start()
{
Auto_Start = 1;
Fine_Turn = 0x80;
Search_Flag = 5;
Fp_Position = Fp_VL_Start;
Channel = 0;
}
void Menu_Fine_Down()
{
if ( Fine_Turn > 0x76 )
Fine_Turn--;
Set_Fosc(Fp_Position,Fine_Turn);
Show_MainMenu1();
Save_Channel();
}
void Menu_Fine_Up()
{
if ( Fine_Turn < 0x8A )
Fine_Turn++;
Set_Fosc(Fp_Position,Fine_Turn);
Show_MainMenu1();
Save_Channel();
}
void Menu_Search_Down()
{
Fine_Turn = 0x80;
Search_Flag = 3;
}
void Menu_Search_Up()
{
Fine_Turn = 0x80;
Search_Flag = 4;
}
void Menu_Down()
{
switch ( MainMenuItem[Menu_mode-1][Menu_item] )
{
case 18:
Menu_Hue_Down();
break;
case 0:
Menu_Brightness_Down();
break;
case 1:
Menu_Contrast_Down();
break;
case 2:
Menu_Saturation_Down();
break;
case 3:
Menu_Sharpen_Down();
break;
case 4:
Menu_Screen_Switch();
break;
case 5:
Menu_Blue_Switch();
break;
case 6:
Menu_Language_Down();
break;
case 7:
Menu_Mirror_Switch();
break;
case 8:
Menu_Color_Down();
break;
case 9:
Menu_Sound_Down();
break;
case 12:
Menu_Channel_Down();
break;
case 13:
Menu_Skip_Switch();
break;
case 14:
Menu_Band_Down();
break;
case 15:
Menu_Fine_Down();
break;
case 16:
Menu_Search_Down();
break;
case 17:
Menu_Auto_Start();
break;
}
}
void Menu_Up()
{
switch ( MainMenuItem[Menu_mode-1][Menu_item] )
{
case 18:
Menu_Hue_Up();
break;
case 0:
Menu_Brightness_Up();
break;
case 1:
Menu_Contrast_Up();
break;
case 2:
Menu_Saturation_Up();
break;
case 3:
Menu_Sharpen_Up();
break;
case 4:
Menu_Screen_Switch();
break;
case 5:
Menu_Blue_Switch();
break;
case 6:
Menu_Language_Up();
break;
case 7:
Menu_Mirror_Switch();
break;
case 8:
Menu_Color_Up();
break;
case 9:
Menu_Sound_Up();
break;
case 12:
Menu_Channel_Up();
break;
case 13:
Menu_Skip_Switch();
break;
case 14:
Menu_Band_Up();
break;
case 15:
Menu_Fine_Up();
break;
case 16:
Menu_Search_Up();
break;
case 17:
Menu_Auto_Start();
break;
}
}
void Menu_Hue_Show(BYTE *buf)
{
Show_Number(Hue,buf);
}
void Menu_Brightness_Show(BYTE *buf)
{
Show_Number(Brightness,buf);
}
void Menu_Contrast_Show(BYTE *buf)
{
Show_Number(Contrast,buf);
}
void Menu_Saturation_Show(BYTE *buf)
{
Show_Number(Saturation,buf);
}
void Menu_Sharpen_Show(BYTE *buf)
{
Show_Number(Sharpen,buf);
}
void Menu_Screen_Show(BYTE *buf)
{
if ( Screen_mode )
{
buf[0] = 0x04;
buf[1] = 0x7A;
buf[2] = 0x03;
}
else
{
buf[0] = 0x01;
buf[1] = 0x06;
buf[2] = 0x7A;
buf[3] = 0x09;
}
}
void Menu_Blue_Show(BYTE *buf)
{
if ( Blue_back )
{
memcpy(buf,OSD_Table_OnOff[0][Language],5);
}
else
{
memcpy(buf,OSD_Table_OnOff[1][Language],5);
}
}
void Menu_Horizontal_Show(BYTE *buf)
{
if ( HPosition > 32 )
{
buf[0] = 0x57;
buf[1] = (HPosition-32)/10;
buf[2] = (HPosition-32)%10;
}
else if ( HPosition < 32 )
{
buf[0] = 0x54;
buf[1] = (32-HPosition)/10;
buf[2] = (32-HPosition)%10;
}
else
{
buf[0] = 0x0;
buf[1] = 0x0;
}
}
void Menu_Vertical_Show(BYTE *buf)
{
if ( VPosition > 0 )
{
buf[0] = 0x57;
buf[1] = VPosition/10;
buf[2] = VPosition%10;
}
else
{
buf[0] = 0x0;
buf[1] = 0x0;
}
}
void Menu_Language_Show(BYTE *buf)
{
memcpy(buf,OSD_Table_Language[Language],3);
}
void Menu_Mirror_Show(BYTE *buf)
{
buf[0] = 0x1;
if ( Horizontal )
buf[0] += 1;
if ( Vertical )
buf[0] += 2;
}
void Menu_Color_Show(BYTE *buf)
{
memcpy(buf,OSD_Table_Video_Type[Video_SYS],6);
}
void Menu_Sound_Show(BYTE *buf)
{
memcpy(buf,OSD_Table_Sound_Type[SIF],4);
}
void Menu_Channel_Show(BYTE *buf)
{
Show_Number(Channel, buf);
}
void Menu_Skip_Show(BYTE *buf)
{
if ( Skip )
{
memcpy(buf,OSD_Table_OnOff[0][Language],5);
}
else
{
memcpy(buf,OSD_Table_OnOff[1][Language],5);
}
}
void Menu_Auto_Show(BYTE *buf)
{
buf[0] = 0x5B;
buf[1] = 0x5B;
}
void Menu_Fine_Show(BYTE *buf)
{
if ( Fine_Turn > 0x80 )
{
buf[0] = 0x57;
if ( Fine_Turn-0x80 < 10 )
buf[1] = Fine_Turn-0x80;
else
{
buf[1] = (Fine_Turn-0x80)/10;
buf[2] = (Fine_Turn-0x80)%10;
}
}
else if ( Fine_Turn < 0x80 )
{
buf[0] = 0x54;
if ( 0x80-Fine_Turn < 10 )
buf[1] = 0x80-Fine_Turn;
else
{
buf[1] = (0x80-Fine_Turn)/10;
buf[2] = (0x80-Fine_Turn)%10;
}
}
else
buf[0] = 0x0;
}
void Menu_Search_Show(BYTE *buf)
{
buf[0] = 0x5A;
buf[1] = 0x5B;
}
void Menu_Band_Show(BYTE *buf)
{
if ( (Fp_Position >= Fp_VL_Start) && (Fp_Position < Fp_VH_Start) )
{
buf[0]= 0x1F; //"V-L"
buf[1]= 0x54;
buf[2]= 0x15;
}
else if( (Fp_Position >= Fp_VH_Start) && (Fp_Position < Fp_UHF_Start) )
{
buf[0]= 0x1F; //"V-H"
buf[1]= 0x54;
buf[2]= 0x11;
}
else
{
buf[0]= 0x1E; //"UHF"
buf[1]= 0x11;
buf[2]= 0x0F;
}
}
void Menu_Show(BYTE item, BYTE *buf)
{
switch ( item )
{
case 18:
Menu_Hue_Show(buf);
break;
case 0:
Menu_Brightness_Show(buf);
break;
case 1:
Menu_Contrast_Show(buf);
break;
case 2:
Menu_Saturation_Show(buf);
break;
case 3:
Menu_Sharpen_Show(buf);
break;
case 4:
Menu_Screen_Show(buf);
break;
case 5:
Menu_Blue_Show(buf);
break;
case 6:
Menu_Language_Show(buf);
break;
case 7:
Menu_Mirror_Show(buf);
break;
case 8:
Menu_Color_Show(buf);
break;
case 9:
Menu_Sound_Show(buf);
break;
case 10:
Menu_Horizontal_Show(buf);
break;
case 11:
Menu_Vertical_Show(buf);
break;
case 12:
Menu_Channel_Show(buf);
break;
case 13:
Menu_Skip_Show(buf);
break;
case 14:
Menu_Band_Show(buf);
break;
case 15:
Menu_Fine_Show(buf);
break;
case 16:
Menu_Search_Show(buf);
break;
case 17:
Menu_Auto_Show(buf);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -