📄 lcd_auto.i
字号:
extern unsigned char code SV_50_1[]; extern unsigned char code SV_50_2[]; extern unsigned char code SV_50_3[]; extern unsigned char code SV_50_4[]; extern unsigned char code SV_SECAM[]; extern unsigned char code VIDEO_ALL[]; extern unsigned char code VIDEO_YUV[]; extern unsigned char code VIDEO_60[]; extern unsigned char code VIDEO_50[]; extern unsigned char code TV_SOURCE_SEL[]; extern unsigned char code TV_SCAN_GAIN[]; extern unsigned char code TV_DISP_GAIN[]; #line 120 "Header\CONFIG.H" /0 #line 124 "Header\CONFIG.H" /1 #line 435 "Header\CONFIG.H" /0 extern unsigned int code CAP_WIN[][5]; extern unsigned int code ADC_SD_SET[][3]; extern unsigned char code VGA_INI_SS[]; extern unsigned char code VGA_INI_CS[]; extern unsigned char code VGA_INI_SOG[]; extern unsigned char code VIDEO_INI[]; extern unsigned char code DVI_INI[]; extern unsigned char code VGA_SET_SS[]; extern unsigned char code VGA_SET_CS[]; extern unsigned char code VGA_SET_SOG[]; extern unsigned char code LVDS_POWERUP[]; extern unsigned char code LVDS_POWERDOWN[]; extern unsigned char code Palette_Open[]; extern unsigned char code Palette_Close[]; extern unsigned char code Palette_1[]; extern unsigned char code Palette_2[]; extern unsigned char code Palette_3[]; extern unsigned char code Palette_4[]; extern unsigned char code Palette_5[]; extern unsigned char code Palette_6[]; extern unsigned char code Palette_7[]; extern unsigned char code DCLK_OFFSET[16]; #line 8 "Code\Lcd_auto.c" /0 #line 1 "Header\LCD_FUNC.H" /0 #line 1 "HEADER\Main_def.h" /0 #line 1 "HEADER\CHAR_DEF.H" /0 #line 1 "HEADER\Main_def.h" /0 #line 1 "HEADER\MODE_DEF.H" /0 #line 2 "HEADER\Main_def.h" /0 #line 1 "HEADER\RTD_DEF.H" /0 #line 3 "HEADER\Main_def.h" /0 #line 1 "HEADER\CODE_DEF.H" /0 #line 4 "HEADER\Main_def.h" /0 #line 144 "HEADER\Main_def.h" /1 #line 155 "HEADER\Main_def.h" /0 #line 157 "HEADER\Main_def.h" /1 #line 159 "HEADER\Main_def.h" /0 #line 163 "HEADER\Main_def.h" /1 #line 165 "HEADER\Main_def.h" /0 #line 270 "HEADER\Main_def.h" /1 #line 272 "HEADER\Main_def.h" /0 #line 273 "HEADER\Main_def.h" /1 #line 275 "HEADER\Main_def.h" /0 #line 276 "HEADER\Main_def.h" /1 #line 278 "HEADER\Main_def.h" /0 #line 279 "HEADER\Main_def.h" /1 #line 281 "HEADER\Main_def.h" /0 #line 1 "Header\LCD_FUNC.H" /0 typedef struct _GLOBAL_USER_DATA0 { unsigned char CONTRAST; unsigned char BRIGHT; unsigned char RTD_R_CONTRAST; unsigned char RTD_G_CONTRAST; unsigned char RTD_B_CONTRAST; unsigned char RTD_R_BRIGHT; unsigned char RTD_G_BRIGHT; unsigned char RTD_B_BRIGHT; } GLOBAL_USER_DATA0, *LP_GLOBAL_USER_DATA0; typedef struct _GLOBAL_USER_DATA1 { unsigned char FUNCTION; unsigned char INPUT_SOURCE; unsigned char FILTER; unsigned int OSD_POSH; unsigned char OSD_POSV; unsigned char OSD_TIMEOUT; unsigned char OSD_INPUT; } GLOBAL_USER_DATA1, *LP_GLOBAL_USER_DATA1; typedef struct _GLOBAL_USER_DATA2 { unsigned char AD_R_GAIN; unsigned char AD_G_GAIN; unsigned char AD_B_GAIN; unsigned char AD_R_OFFSET; unsigned char AD_G_OFFSET; unsigned char AD_B_OFFSET; } GLOBAL_USER_DATA2, *LP_GLOBAL_USER_DATA2; typedef struct _GLOBAL_USER_DATA3 { unsigned char VOLUME; unsigned char CURR_CHANNEL; unsigned char PREV_CHANNEL; unsigned char TV_SETTING; unsigned char SPREAD; } GLOBAL_USER_DATA3, *LP_GLOBAL_USER_DATA3; typedef struct _GLOBAL_USER_DATA4 { unsigned char C1_R; unsigned char C1_G; unsigned char C1_B; unsigned char C2_R; unsigned char C2_G; unsigned char C2_B; unsigned char C3_R; unsigned char C3_G; unsigned char C3_B; } GLOBAL_USER_DATA4, *LP_GLOABL_USER_DATA4; typedef struct _RGB_MODE_USER_DATA { unsigned char H_POSITION; unsigned char V_POSITION; unsigned char CLOCK; unsigned char PHASE; } RGB_MODE_USER_DATA, *LP_RGB_MODE_USER_DATA; typedef struct _VIDEO_MODE_USER_DATA { unsigned char VBRIGHT; unsigned char VCONTRAST; unsigned char VSATURATION; unsigned char VHUE; } VIDEO_MODE_USER_DATA, *LP_VIDEO_MODE_USER_DATA; #line 134 "Header\LCD_FUNC.H" /1 #line 313 "Header\LCD_FUNC.H" /0 extern GLOBAL_USER_DATA0 data stGUD0; extern GLOBAL_USER_DATA1 data stGUD1; extern GLOBAL_USER_DATA2 data stGUD2; extern GLOBAL_USER_DATA3 data stGUD3; extern GLOBAL_USER_DATA4 data stGUD4; extern RGB_MODE_USER_DATA data stMUD; extern unsigned int idata usIPH_ACT_STA; extern unsigned int idata usIPV_ACT_STA; extern unsigned int idata usIPH_ACT_WID; extern unsigned int idata usIPV_ACT_LEN; extern unsigned int idata usADC_Clock; extern unsigned int idata usDH_Total; extern unsigned int idata usDV_Total; extern unsigned char idata ucDV_Delay; extern unsigned char idata ucV_Max_Margin; extern unsigned char idata ucV_Min_Margin; extern unsigned char idata ucH_Max_Margin; extern unsigned char idata ucH_Min_Margin; extern unsigned char idata UartNum; extern unsigned char idata UartData[4]; extern void SetMute(bit val); extern void SetVolume(); extern void WriteGamma(unsigned char code *arrayR, unsigned char code *arrayG, unsigned char code *arrayB); extern void WriteDither(unsigned char code *array); extern void WriteSU_COEF(unsigned char code *arrayH, unsigned char code *arrayV); extern void Set_H_Position(void); extern void Set_V_Position(void); extern void Set_Clock(void); extern void Set_Phase(unsigned char phase); extern void Set_Bright_Contrast(void); extern void Set_Gamma(void); extern void Set_Dithering(void); extern void Sharpness(void); extern void Set_Mode_Params(void); extern void SetADC_VCO(unsigned char ucRate); extern void SetADC_Gain(void); extern void SetADC_Offset(void); extern void SetADC_GainOffset(void); #line 365 "Header\LCD_FUNC.H" /1 #line 367 "Header\LCD_FUNC.H" /0 extern void Wait_For_Event(unsigned char event); extern void Save_GUD0(void); extern void Load_GUD0(void); extern void Save_GUD1(void); extern void Load_GUD1(void); extern void Save_GUD2(void); extern void Load_GUD2(void); extern void Save_GUD3(void); extern void Load_GUD3(void); extern void Save_GUD4(void); extern void Load_GUD4(void); extern void Save_MUD(unsigned char mode_num); extern void Load_MUD(unsigned char mode_num); extern void Init_GUD(void); extern void Init_MUD(void); extern void Check_EEPROM(void); extern unsigned char code INIT_EEPROM2[]; extern void RTD_Test(void); extern void Free_Background(void); extern void Reset_Mode(void); extern void Set_Spread(void); extern void Init_FACTORY(void); extern void Init_FRecall(void); #line 402 "Header\LCD_FUNC.H" /1 #line 406 "Header\LCD_FUNC.H" /0 #line 9 "Code\Lcd_auto.c" /0 #line 1 "Header\LCD_AUTO.H" /0 unsigned char code ADC_DEFAULT[] = { 9, 0, 0xE0, 0x78, 0x78, 0x78, 0x80, 0x80, 0x80, 0 }; bit bAutoInProgress = 0; unsigned int idata usVer_Start = 0; unsigned int idata usVer_End = 0; unsigned int idata usH_Start = 0; unsigned int idata usH_End = 0; void Wait_Finish(void); unsigned char Auto_Phase(void); unsigned char Auto_Phase_Do(unsigned char NM); unsigned char Auto_Clock_Do(unsigned char NM); unsigned char Auto_Position(void); unsigned char Auto_Position_Do(unsigned char NM); unsigned char Auto_Config(void); unsigned char Auto_Balance(void); unsigned char Measure_PositionV(unsigned char NM_V); unsigned char Measure_PositionH(unsigned char NM_H); unsigned char Measure_PositionN(unsigned char NM); unsigned char Min_Noise_Margin(void); unsigned char Tune_Balance(void); unsigned char Measure_Color(unsigned char color, unsigned char margin); unsigned char Change_ADC_Gain(unsigned char color, unsigned char delta, unsigned char inc); unsigned char Change_ADC_Offset(unsigned char color, unsigned char delta, unsigned char inc); #line 107 "Header\LCD_AUTO.H" /1 #line 10 "Code\Lcd_auto.c" /0#line 10 "Code\Lcd_auto.c" /0 #line 1 "Header\LCD_OSD.H" /0 #line 24 "Header\LCD_OSD.H" /1 #line 90 "Header\LCD_OSD.H" /0 extern unsigned char idata ucOSD_Page_Index; extern unsigned char idata ucOSD_Item_Index0; extern unsigned char idata ucOSD_Item_Index1; extern unsigned char idata ucOSD_Item_Index2; extern unsigned char idata ucOSD_Pre_Page_Index; #line 98 "Header\LCD_OSD.H" /1 #line 102 "Header\LCD_OSD.H" /0 extern void OSD_Proc(unsigned char action); extern void OSD_Window(unsigned char win_no, unsigned int row_start, unsigned int row_end, unsigned int col_start, unsigned int col_end, unsigned char width, unsigned char height, unsigned char color, unsigned char color_sb, unsigned char gradient, unsigned char gra_level,unsigned char attr); extern void OSD_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate); extern void Get_OSD_Margin(void); extern void OSD_Opening(void); extern void OSD_Ending(void); extern void Show_Note(void); extern void Show_Hint(void); extern void OSD_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width); extern void OSD_Show_Check(void); extern void rgb_OSD_Slider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range, unsigned char color, unsigned char color_slider); extern void OSD_Fact_Line(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char indicate); extern void OSD_Fact_Clear(unsigned char row_start, unsigned char height, unsigned char col_start, unsigned char width); extern void OSD_Position(unsigned char para); extern void Value_Adjust(unsigned char *Var, unsigned char Key, unsigned char VMax, unsigned char VMin); #line 11 "Code\Lcd_auto.c" /0 void Wait_Finish(void) { unsigned char Wait_Time_Cnt, IVS_Event; RTDSetByte(0x01, 0x00); RTDSetByte(0x1F, 0x00); Wait_Time_Cnt = 60; IVS_Event = 25; do { Delay_Xms(1); RTDRead(0x7F, 1, 1); } while ((Data[0] & 0x01) && (--Wait_Time_Cnt)); RTDRead(0x01, 1, 1); if(Data[0]) RTDSetByte(0x01,0x00); Data[0] = (Data[0] & 0x63) ? 0xfc : (0 == Wait_Time_Cnt) ? 0xfd : 0x00; } void Wait_For_IVS(void) { unsigned char t; t = 50; RTDSetByte(0x1f,0x00); do { RTDRead(0x1f, 1, 0); Data[0] = Data[0] & 0x01; Delay_Xms(1); }while((Data[0] == 0) && (t--)); } unsigned char Measure_PositionV(unsigned char NM_V) { unsigned int usLBound, usRBound; RTDRead(0x51, 0x02, 0); Data[2] = Data[1] & 0x0f; Data[3] = Data[0]; usRBound = usADC_Clock + (unsigned int)stMUD.CLOCK - 128; usLBound = (unsigned long)usRBound * ((unsigned int *)Data)[1] / usStdHS; usRBound = usRBound - 2 + 10 - 6 + ucH_Min_Margin - stMUD.H_POSITION; usLBound = usLBound + 20 + ucH_Min_Margin + 10; usLBound = usLBound > ((unsigned int)stMUD.H_POSITION + 6) ? (usLBound - 6 - stMUD.H_POSITION) : 1; NM_V = NM_V & 0xfc; Data[0] = 6; Data[1] = 0; Data[2] = 0x75; Data[3] = (unsigned char)usLBound; Data[4] = (unsigned char)usRBound; Data[5] = ((unsigned char)(usLBound >> 4) & 0x70) | ((unsigned char)(usRBound >> 8) & 0x0f); Data[6] = 8; Data[7] = 0; Data[8] = 0x7B; Data[9] = NM_V; Data[10] = NM_V | 0x00; Data[11] = NM_V; Data[12] = 0x00; Data[13] = 0x01; Data[14] = 0; RTDWrite(Data); Wait_Finish(); if (0x00 != Data[0]) return Data[0]; RTDRead(0x80, 4, 0); Data[6] = Data[1] & 0x0f; Data[7] = Data[0]; Data[8] = Data[3] & 0x0f; Data[9] = Data[2]; usVer_Start = ((unsigned int *)Data)[3] ? ((unsigned int *)Data)[3] - 1 : 0; usVer_End = ((unsigned int *)Data)[4] ? ((unsigned int *)Data)[4] - 1 : 0; if (0x0000 == usVer_End) return 0xf8; if ((9 - 3) > usVer_Start) { ((unsigned int *)Data)[3] = 9 - 3; } else { if (usVer_End > (usVer_Start + usIPV_ACT_LEN - 1)) { usVer_End = usVer_Start + usIPV_ACT_LEN - 1; ((unsigned int *)Data)[4] = usVer_End; } } Data[0] = 6; Data[1] = 0; Data[2] = 0x78; Data[3] = Data[7]; Data[4] = Data[9]; Data[5] = (Data[6] << 4) + Data[8]; Data[6] = 0; RTDWrite(Data); return 0x00; } unsigned char Measure_PositionH(unsigned char NM_H) { unsigned int usLBound, usRBound; RTDRead(0x51, 0x02, 0); Data[2] = Data[1] & 0x0f; Data[3] = Data[0]; usRBound = usADC_Clock + (unsigned int)stMUD.CLOCK - 128; usLBound = (unsigned long)usRBound * ((unsigned int *)Data)[1] / usStdHS; usRBound = usRBound - 2 + 10 - 6 + ucH_Min_Margin - stMUD.H_POSITION; usLBound = usLBound + 20 + ucH_Min_Margin + 10; usLBound = usLBound > ((unsigned int)stMUD.H_POSITION + 6) ? (usLBound - 6 - stMUD.H_POSITION) : 1; NM_H = NM_H & 0xfc; Data[0] = 6; Data[1] = 0; Data[2] = 0x75; Data[3] = (unsigned char)usLBound; Data[4] = (unsigned char)usRBound; Data[5] = ((unsigned char)(usLBound >> 4) & 0x70) | ((unsigned char)(usRBound >> 8) & 0x0f); Data[6] = 8; Data[7] = 0; Data[8] = 0x7B; Data[9] = NM_H; Data[10] = NM_H; Data[11] = NM_H; Data[12] = 0x00; Data[13] = 0x01; Data[14] = 0; RTDWrite(Data); Wait_Finish(); if (0x00 != Data[0]) return Data[0]; RTDRead(0x84, 4, 0); Data[4] = Data[3] & 0x0f; Data[5] = Data[2]; Data[2] = Data[1] & 0x0f; Data[3] = Data[0]; if (0x07FF <= ((unsigned int *)Data)[1]) return 0xf8;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -