📄 osd.c
字号:
ShowColorTemperature();
break;
case R_GainNode:
case G_GainNode:
case B_GainNode:
ClearText();
ShowRGB();
break;
case LanguageNode:
ClearText();
ShowLanguage();
break;
case OSD_X_Node:
ShowOSD_X();
break;
case OSD_Y_Node:
ShowOSD_Y();
break;
case OSD_TimerNode:
ShowOSD_Timer();
break;
case OSD_RotationNode:
ClearText();
if((OSD_Control & BIT_7) == 0)
ShowNO_YES(0);
else
ShowNO_YES(1);
break;
case OSD_FlipNode:
ClearText();
if((OSD_Control & BIT_6) == 0)
ShowNO_YES(0);
else
ShowNO_YES(1);
break;
case OSD_MirrorNode:
ClearText();
if((OSD_Control & BIT_5) == 0)
ShowNO_YES(0);
else
ShowNO_YES(1);
break;
case SaturationNode:
ShowSaturation();
break;
case TintNode:
ShowTint();
break;
case RecallNode:
case MisceNode:
case ExitMainMenuNode:
case ExitMisceMenuNode:
case AutoColorNode:
ClearText();
ShowNO_YES(0);
break;
case SharpnessNode:
ClearText();
ShowSharpness();
break;
}
}
void ValueUp(void)
{
if(OSD_Type == 0x00){
if((flag1 & BIT_3) == 0){
DirectVolume();
}
}
else if(OSD_Type == 0x01){
switch(OSD_Point2){
case BrightnessNode:
if((flag3 & BIT_0) == 0){
InverterDown();
SavePointer = InverterSaveFlag;
}
else{
BrightnessUp();
SavePointer = BrightnessSaveFlag;
}
break;
case ContrastNode:
ContrastUp();
SavePointer = ContrastSaveFlag;
break;
case PhaseNode:
PhaseUp();
SavePointer = PhaseSaveFlag;
break;
case ClockNode:
ClockUp();
SavePointer = ClockSaveFlag;
break;
case HP_Node:
HP_Down();
SavePointer = HP_SaveFlag;
break;
case VP_Node:
VP_Up();
SavePointer = VP_SaveFlag;
break;
case RecallNode:
ShowNO_YES(1);
Recall();
ShowNO_YES(0);
Repeat = 0xff;
break;
case ColorTempNode:
ColorTempUp();
Repeat = 0xff;
break;
case R_GainNode:
RGB_Up();
SavePointer = R_GainSaveFlag;
break;
case G_GainNode:
RGB_Up();
SavePointer = G_GainSaveFlag;
break;
case B_GainNode:
RGB_Up();
SavePointer = B_GainSaveFlag;
break;
case LanguageNode:
LanguageUp();
Repeat = 0xff;
break;
case MisceNode:
NodeToggle=0;
ShowNO_YES(1);
WaitSetup(100);
UnselectIcon();
OSD_Point1 = 1;
OSD_Point2 = ExitMisceMenuNode;
ShowMisceMenu();
ShowSubMenu();
Repeat = 0xff;
break;
case ExitMainMenuNode:
ShowNO_YES(1);
WaitSetup(100);
OSD_OFF();
Repeat = 0xff;
break;
case ExitMisceMenuNode:
NodeToggle=0;
ShowNO_YES(1);
WaitSetup(100);
UnselectIcon();
OSD_Point1 = 0;
OSD_Point2 = MisceNode;
ShowMainMenu();
ShowSubMenu();
Repeat = 0xff;
break;
case OSD_X_Node:
OSD_X_Up();
SavePointer = OSD_X_SaveFlag;
break;
case OSD_Y_Node:
OSD_Y_Up();
SavePointer = OSD_Y_SaveFlag;
break;
case OSD_TimerNode:
OSD_TimerUp();
SavePointer = OSD_TimerSaveFlag;
break;
case OSD_RotationNode:
OSD_Control |= BIT_7;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
SetPosition();
ShowNO_YES(1);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case OSD_FlipNode:
OSD_Control |= BIT_6;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
ShowNO_YES(1);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case OSD_MirrorNode:
OSD_Control |= BIT_5;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
ShowNO_YES(1);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case AutoColorNode:
ShowNO_YES(1);
AutoColor();
ShowNO_YES(0);
Repeat = 0xff;
break;
case SaturationNode:
SaturationUp();
SavePointer = SaturationSaveFlag;
break;
case TintNode:
TintUp();
SavePointer = TintSaveFlag;
break;
case SharpnessNode:
SharpnessUp();
SavePointer = SharpnessSaveFlag;
break;
default:
Repeat = 0xff;
break;
}
}
else if(OSD_Type == 3){
if(++Volume > 100){
Volume = 100;
}
else{
SetVolume();
ShowVolume();
SavePointer = VolumeSaveFlag;
}
}
KeyBuffer = 0xff;
}
void ValueDown(void)
{
if(OSD_Type == 0x00){
if((flag1 & BIT_3) == 0){
DirectVolume();
}
}
else if(OSD_Type == 0x01){
switch(OSD_Point2){
case BrightnessNode:
if((flag3 & BIT_0) == 0){
InverterUp();
SavePointer = InverterSaveFlag;
}
else{
BrightnessDown();
SavePointer = BrightnessSaveFlag;
}
break;
case ContrastNode:
ContrastDown();
SavePointer = ContrastSaveFlag;
break;
case PhaseNode:
PhaseDown();
SavePointer = PhaseSaveFlag;
break;
case ClockNode:
ClockDown();
SavePointer = ClockSaveFlag;
break;
case HP_Node:
HP_Up();
SavePointer = HP_SaveFlag;
break;
case VP_Node:
VP_Down();
SavePointer = VP_SaveFlag;
break;
case ColorTempNode:
ColorTempDown();
break;
case R_GainNode:
RGB_Down();
SavePointer = R_GainSaveFlag;
break;
case G_GainNode:
RGB_Down();
SavePointer = G_GainSaveFlag;
break;
case B_GainNode:
RGB_Down();
SavePointer = B_GainSaveFlag;
break;
case LanguageNode:
LanguageDown();
Repeat = 0xff;
break;
case OSD_X_Node:
OSD_X_Down();
SavePointer = OSD_X_SaveFlag;
break;
case OSD_Y_Node:
OSD_Y_Down();
SavePointer = OSD_Y_SaveFlag;
break;
case OSD_TimerNode:
OSD_TimerDown();
SavePointer = OSD_TimerSaveFlag;
break;
case OSD_RotationNode:
OSD_Control &= ~BIT_7;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
SetPosition();
ShowNO_YES(0);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case OSD_FlipNode:
OSD_Control &= ~BIT_6;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
ShowNO_YES(0);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case OSD_MirrorNode:
OSD_Control &= ~BIT_5;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
ShowNO_YES(0);
SavePointer = Osd_ControlSaveFlag;
Repeat = 0xff;
break;
case SaturationNode:
SaturationDown();
SavePointer = SaturationSaveFlag;
break;
case TintNode:
TintDown();
SavePointer = TintSaveFlag;
break;
case SharpnessNode:
SharpnessDown();
SavePointer = SharpnessSaveFlag;
break;
default:
Repeat = 0xff;
break;
}
}
else if(OSD_Type == 3){
if(--Volume > 100){
Volume = 0;
}
else{
SetVolume();
ShowVolume();
SavePointer = VolumeSaveFlag;
}
}
KeyBuffer = 0xff;
}
void ShowInverter(void)
{
unsigned char value;
value = 100 - Inverter;
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,value);
ShowSliderBar(9,8,value);
}
void ShowBrightness(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Brightness);
ShowSliderBar(9,8,Brightness);
}
void ShowContrast(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Contrast);
ShowSliderBar(9,8,Contrast);
}
void ShowClock(void)
{
unsigned char Clock;
Clock = (unsigned short)(HTotal - Clk_Min) * 100 / (Clk_Max - Clk_Min);
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Clock);
ShowSliderBar(9,8,Clock);
}
void ShowPhase(void)
{
unsigned char Phase;
Phase = (unsigned short)ADC_Phase * 100 / 63;
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Phase);
ShowSliderBar(9,8,Phase);
}
void ShowHP(void)
{
unsigned char Position;
Position = (unsigned short)(HP_Start - HP_Min) * 100 / (HP_Max - HP_Min);
Position = 100 - Position;
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Position);
ShowSliderBar(9,8,Position);
}
void ShowVP(void)
{
unsigned char Position;
Position = (unsigned short)VP_Start * 100 / VP_Max;
// Position = 100 - Position;
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Position);
ShowSliderBar(9,8,Position);
}
void ShowSaturation(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Saturation);
ShowSliderBar(9,8,Saturation);
}
void ShowTint(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,Tint);
ShowSliderBar(9,8,Tint);
}
void ShowSharpness(void)
{
unsigned char value;
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
value = (unsigned short)Sharpness * 100 / 7;
ShowValue(1,value);
ShowSliderBar(9,8,value);
}
void ShowVolume(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowNum(1,15,3,Volume);
ShowSliderBar(6,2,Volume);
}
void ShowNO_YES(unsigned char i)
{
code unsigned char String10[]={
5,22,8,"YES"
};
code unsigned char String20[]={
5,22,8,"OUI"
};
code unsigned char String30[]={
4,22,8,"JA"
};
code unsigned char String40[]={
4,22,8,"Sd"
};
code unsigned char String50[]={
4,22,8,"Sg"
};
code unsigned char String60[]={
4,22,8,"JA"
};
code unsigned char String70[]={
5,22,8,"SIM"
};
code unsigned char String80[]={
3,22,8,0x97
};
code unsigned char *Tab1[]={
String10,String20,String30,String40,String50,String60,String70,String80
};
code unsigned char String11[]={
4,12,8,"NO"
};
code unsigned char String21[]={
5,12,8,"NON"
};
code unsigned char String31[]={
6,12,8,"NEIN"
};
code unsigned char String41[]={
4,12,8,"NO"
};
code unsigned char String51[]={
4,12,8,"NO"
};
code unsigned char String61[]={
5,12,8,"NEE"
};
code unsigned char String71[]={
5,12,8,"N^O"
};
code unsigned char String81[]={
3,12,8,0x98
};
code unsigned char *Tab2[]={
String11,String21,String31,String41,String51,String61,String71,String81
};
if(i == 0)
WriteWordIIC_HW(Scaler_Addr,0xcc,TextSelColor);
else
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
WriteStringScaler(1,Tab2[Language]);
if(i != 0)
WriteWordIIC_HW(Scaler_Addr,0xcc,TextSelColor);
else
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
WriteStringScaler(1,Tab1[Language]);
}
void ShowOSD_X(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,OSD_X);
ShowSliderBar(9,8,OSD_X);
}
void ShowOSD_Y(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,OSD_Y);
ShowSliderBar(9,8,OSD_Y);
}
void ShowOSD_Timer(void)
{
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
ShowValue(1,OSD_Timer);
ShowSliderBar(9,8,OSD_Timer);
}
void ShowColorTemperature(void)
{
code unsigned char String10[]={
4,"USER"
};
code unsigned char String11[]={
11,"UTILISATEUR"
};
code unsigned char String12[]={
18,"ANWENDERSPEZIFISCH"
};
code unsigned char String13[]={
7,"USUARIO"
};
code unsigned char String14[]={
6,"UTENTE"
};
code unsigned char String15[]={
9,"GEBRUIKER"
};
code unsigned char String16[]={
10,"UTILIZADOR"
};
code unsigned char String17[]={
4,0xa0,0xa1,0xa2,0xa3
};
code unsigned char String20[]={
5,"6500$"
};
code unsigned char String30[]={
5,"7500$"
};
code unsigned char String40[]={
5,"9300$"
};
code unsigned char *Tab1[]={
String10,String20,String30,String40,
String11,String20,String30,String40,
String12,String20,String30,String40,
String13,String20,String30,String40,
String14,String20,String30,String40,
String15,String20,String30,String40,
String16,String20,String30,String40,
String17,String20,String30,String40
};
unsigned char i,j,k;
k = Read24C16(0xe1);
j = 4 * Language;
for(i=0; i<4; i++){
if(i == k)
WriteWordIIC_HW(Scaler_Addr,0xcc,TextSelColor);
else
WriteWordIIC_HW(Scaler_Addr,0xcc,TextColor);
WriteXY_CStrScaler(1,7,i+6,23,Tab1[j+i]);
}
//osd on
OSD_Control |= BIT_0;
WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
}
void ShowLanguage(void)
{
code unsigned char String1[]={
7,"ENGLISH"
};
code unsigned char String2[]={
8,"FRAN=AIS"
};
code unsigned char String3[]={
7,"DEUTSCH"
};
code unsigned char String4[]={
7,"ESPA@OL"
};
code unsigned char String5[]={
8,"ITALIANO"
};
code unsigned char String6[]={
10,"NEDERLANDS"
};
code unsigned char String7[]={
9,"PORTUGUbS"
};
code unsigned char String8[]={
2,0x20,0x20
};
code unsigned char *Tab1[]={
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -