?? useradj.c
字號:
#include "MATH.H"
#include "F63XDEF.H"
#include "UserAdj.H"
#include "RAM.H"
#include "IIC.H"
#include "MyDef.H"
#include "stdio.h"
#include "Scaler.H"
#include "F63XREG.H"
#include "IIC.H"
#include "Rom_map.H"
#include "OSD_TAB.H"
#include "sRGB.H"
#include "AUTOADJ.H"
#include "MODEHANDLE.H"
#include "PANEL.H"
#include "MCU.H"
#include "SAA7114.H"
void AdjustProcess(void)
{
Bit SaveFlag;
Byte Temp,Temp1;
if(MenuPtr.Op == 0)
return;
//Main Menu ----------------------------------------------------------------
SaveFlag = 0;
if(MenuPtr.Menu == 1|| MenuPtr.Menu == 3|| MenuPtr.Menu == 5)
{
if(MenuPtr.Level == 1|| MenuPtr.Level == 2)
{
switch(MenuPtr.Page)
{
case 0:
if(FuncBuf[pVIDEOSOURCE]==0){
FuncPtr = Page0Item[MenuPtr.Ptr];
BackItem = Page0Item[BackPtr];
}
else if(FuncBuf[pVIDEOSOURCE]==1){
FuncPtr = Page0ItemD[MenuPtr.Ptr];
BackItem = Page0ItemD[BackPtr];
}
else if(FuncBuf[pVIDEOSOURCE]==2){
FuncPtr = Page0ItemY[MenuPtr.Ptr];
BackItem = Page0ItemY[BackPtr];
}
//else if(FuncBuf[pVIDEOSOURCE]>2){
// FuncPtr = Page0ItemV[MenuPtr.Ptr];
// BackItem = Page0ItemV[BackPtr];
//}
break;
case 1:
FuncPtr = Page1Item[MenuPtr.Ptr];
BackItem = Page1Item[BackPtr];
break;
case 2:
FuncPtr = Page2Item[MenuPtr.Ptr];
BackItem = Page2Item[BackPtr];
break;
case 3:
FuncPtr = Page3Item[MenuPtr.Ptr];
BackItem = Page3Item[BackPtr];
break;
case 4:
FuncPtr = Page4Item[MenuPtr.Ptr];
BackItem = Page4Item[BackPtr];
break;
case 5:
FuncPtr = Page5Item[MenuPtr.Ptr];
BackItem = Page5Item[BackPtr];
break;
case 6:
FuncPtr = Page6Item[MenuPtr.Ptr];
BackItem = Page6Item[BackPtr];
break;
};
}
if(BackItem == pCOLORTEMP && FuncBuf[pCOLORTEMP] == 3) //enter RGB adjust menu
if(MenuPtr.Level == 2)
{
// BackPtr = MenuPtr.Ptr;
switch(MenuPtr.Page)
{
case 2:
//FuncPtr = RGBmenuItem[MenuPtr.Ptr];
FuncPtr = Page2Item[MenuPtr.Ptr];
break;
};
}
//Digital Control
if(FuncPtr >= pFACTMENU) //digital control
{
if(MenuPtr.Op == oINCVAL || MenuPtr.Op == oDECVAL)
{
switch(FuncPtr)
{
case pRECALL:
ShowYesNo(1);
Osd_Off();
Recall(1);
//MenuPtr.Menu = 0;
//MenuPtr.Level = 0;
//MenuPtr.Ptr = 0;
if(FuncBuf[pVIDEOSOURCE] == 0){
ShowMessage(MSG_AUTOTUNE);
AutoTune();
}
//TunePositionOnly();
break;
case pMUTE:
AudioMute= ~AudioMute;
SetAudioMute();
Write24C16(ep_Status,StatusFlag);
break;
case pAUTOSETTING:
AutoSetting= ~AutoSetting;
Write24C16(ep_Status,StatusFlag);
break;
case pLIGHTEN:
LightEn = ~LightEn;
WriteIIC563(0x130, LightEn);
break;
case pSCALERMODE:
ScalerMode= ~ScalerMode;
if(FuncBuf[pVIDEOSOURCE] < 2){
Temp1 = ReadIIC563(0x080);
WriteIIC563(0x080,Temp&(~BIT_0));
Temp = ReadIIC563(0x16e);
WriteIIC563(0x16e,Temp&(~BIT_0));
SetScalerMode();
WaitSetup(8);
WriteIIC563(0x16e,Temp);
WriteIIC563(0x080,Temp1);
}
break;
};
}
}
//Analog Control
else
{
GetFuncRange(FuncPtr);
if(MenuPtr.Op == oDECVAL || MenuPtr.Op == oINCVAL || MenuPtr.Op == oUPDATE)
{
//if(FuncPtr != pVIDEOSOURCE)
SetFuncMaxMin();
switch(FuncPtr)
{
case pBRIGHTNESS:
//if(FuncBuf[pVIDEOSOURCE] < 3)
SetBrightness();
//else
// SetVideoBrightness();
//SaveFlag = 1;
break;
case pCONTRAST:
//if(FuncBuf[pVIDEOSOURCE] < 3)
SetContrast();
//else
// SetVideoContrast();
//SaveFlag = 1;
break;
case pPHASE:
if(FuncBuf[pVIDEOSOURCE] == 0)
{
SetADC_Phase();
//SaveFlag = 1;
}
break;
case pCLOCK:
if(FuncBuf[pVIDEOSOURCE] == 0)
{
SetADC_PLL();
//SaveFlag = 1;
}
break;
case pBACKLIGHT:
SetInverter();
//SaveFlag = 1;
break;
case pHPOSITION:
if(FuncBuf[pVIDEOSOURCE] == 0)
{
SetHP();
//SaveFlag = 1;
}
break;
case pVPOSITION:
if(FuncBuf[pVIDEOSOURCE] == 0)
{
SetVP();
//SaveFlag = 1;
}
break;
case pOSDHPOSITION:
OsdPosition();
//SaveFlag = 1;
break;
case pOSDTIMER:
//SaveFlag = 1;
break;
case pSATURATION:
if(FuncBuf[pVIDEOSOURCE] < 3)
#if ContrastBlock == BackEndGain
sRGB((Byte)FuncBuf[pCONTRAST],(Byte)FuncBuf[pRCOLOR],(Byte)FuncBuf[pGCOLOR],(Byte)FuncBuf[pBCOLOR]);
#else
SetContrast();
#endif
//else
// SetVideoSaturation();
//SaveFlag = 1;
break;
case pTINT:
if(FuncBuf[pVIDEOSOURCE] < 3)
#if ContrastBlock == BackEndGain
sRGB((Byte)FuncBuf[pCONTRAST],(Byte)FuncBuf[pRCOLOR],(Byte)FuncBuf[pGCOLOR],(Byte)FuncBuf[pBCOLOR]);
#else
SetContrast();
#endif
//else
// SetVideoTint();
//SaveFlag = 1;
break;
case pRCOLOR:
case pGCOLOR:
case pBCOLOR:
if(FuncBuf[pCOLORTEMP] == 3)
SetContrast();
//SaveFlag = 1;
break;
case pCOLORTEMP:
LoadColor(FuncBuf[pCOLORTEMP]);
SetContrast();
SetInverter();
//SaveFlag = 1;
break;
case pLANGUAGE:
if(FuncBuf[pLANGUAGE]== 5){
WriteSeqIndexPort(0xd0,tySRAM_1BIT,OneBitFontJP,45*27);
WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontJP2,7*27);
}
else if((FuncBuf[pLANGUAGE] == 7)||(FuncBuf[pLANGUAGE] == 8)){
WriteSeqIndexPort(0xd0,tySRAM_1BIT,OneBitFontCH2,48*27);
WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontCH3,6*27);
}
else
WriteSeqIndexPort(0x90,tySRAM_1BIT,OneBitFontPY,7*27);
//SaveFlag = 1;
break;
case pSHARPNESS:
if(FuncBuf[pVIDEOSOURCE] < 3)
SetSharpness();
//else
// SetVideoSharpness();
//SaveFlag = 1;
break;
case pTRANSOSD:
SetOsdTrans();
//SaveFlag = 1;
break;
case pVIDEOSOURCE:
if(MenuPtr.Level == 1 && MenuPtr.Ptr != FuncBuf[pVIDEOSOURCE])
{
FuncBuf[pVIDEOSOURCE] = MenuPtr.Ptr;
printf("Video source %d\n",FuncBuf[pVIDEOSOURCE]);
Write24C16(ep_Sync_Source,FuncBuf[pVIDEOSOURCE]);
Osd_Off();
FastMuteEnable = 0;
BackLightOff();
//FastMuteOn();
SetSource();
MessageShow = 0; //show msg if Video sync off
}
else
Osd_Off();
//MenuPtr.Level = 1;
break;
case pVOLUME:
AudioMute = 0;
SetAudioMute();
Write24C16(ep_Status,StatusFlag);
SetAudioVolume();
//SaveFlag = 1;
break;
case pLIGHTBRIGHT:
SetLightBrightness();
break;
case pLIGHTCONTRAST:
SetLightContrast();
break;
case pLIGHTHSTART:
SetLightHS();
break;
case pLIGHTHWIDTH:
SetLightHW();
break;
case pLIGHTVSTART:
SetLightVS();
break;
case pLIGHTVHIGHT:
SetLightVH();
break;
};
SaveFlag = 1;
}
else
if(MenuPtr.Op == oINCFUNC || MenuPtr.Op == oDECFUNC)
{
switch(FuncPtr)
{
case pVIDEOSOURCE:
GetFuncRange(FuncPtr);
SetFuncMaxMin();
break;
};
}
}
if(SaveFlag)
{
SavePointer = FuncPtr;
SaveTimer = SAVE_FUNC_TIME;
}
}
//Factory Menu -----------------------------------------------------------
if(MenuPtr.Menu == 2) //fact menu
{
//if(MenuPtr.Level == 1)
//FuncPtr = FactmenuItem[MenuPtr.Ptr];
FuncPtr = FactItem[MenuPtr.Ptr].Index;
if(FuncPtr >= pFACTMENU) //digital control
{
if(/*MenuPtr.Op == oINCVAL || MenuPtr.Op == oDECVAL || */MenuPtr.Op == oENTER)
{
switch(FuncPtr)
{
case pAUTOCOLOR:
if(FuncBuf[pVIDEOSOURCE] == 0)
{
Osd_Off();
ShowMessage(MSG_AUTOCOLOR);
AutoColor();
Osd_Off();
MenuPtr.Menu = 2;
MenuPtr.Ptr = 0;
MenuPtr.Page = 0;
MenuPtr.Level = 0;
MenuPtr.Op = oUPDATEALL;
}
break;
case pEEPROMINIT:
Osd_Off();
ShowMessage(MSG_EEPROMINIT);
InitEEPROM();
Recall(1);
LoadADC_Gain();
Osd_Off();
MenuPtr.Menu = 2;
MenuPtr.Ptr = 1;
MenuPtr.Page = 0;
MenuPtr.Level = 0;
MenuPtr.Op = oUPDATEALL;
break;
case pAUTOADJUST: //lo_cs
if(FuncBuf[pVIDEOSOURCE] == 0)
{
Osd_Off();
ShowMessage(MSG_AUTOTUNE);
AutoTune();
Osd_Off();
MenuPtr.Menu = 2;
MenuPtr.Ptr = 0;
MenuPtr.Page = 0;
MenuPtr.Level = 0;
MenuPtr.Op = oUPDATEALL;
}
break;
};
}
}
else
{
GetFuncRange(FuncPtr);
if(MenuPtr.Op == oDECVAL || MenuPtr.Op == oINCVAL)
{
SetFuncMaxMin();
switch(FuncPtr)
{
case pBRIGHTNESS:
SetBrightness();
//SaveFlag = 1;
break;
case pRCOLOR:
case pGCOLOR:
case pBCOLOR:
//FuncBuf[pCOLORTEMP] = (MenuPtr.Ptr - 9)/3;
//LoadColor(FuncBuf[pCOLORTEMP]);
//GetFuncRange(FuncPtr);
SetContrast();
//SaveFlag = 1;
break;
case pBACKLIGHT:
SetInverter();
//SaveFlag = 1;
break;
case pRADC:
SetADCGain(pRADC);
//SaveFlag = 1;
break;
case pGADC:
SetADCGain(pGADC);
//SaveFlag = 1;
break;
case pBADC:
SetADCGain(pBADC);
//SaveFlag = 1;
break;
case pROFFSET:
SetADCOffset(pROFFSET);
//SaveFlag = 1;
break;
case pGOFFSET:
SetADCOffset(pGOFFSET);
//SaveFlag = 1;
break;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -