measure.lst
来自「显示屏驱动源代码」· LST 代码 · 共 1,339 行 · 第 1/5 页
LST
1,339 行
C51 COMPILER V7.06 MEASURE 02/21/2008 14:00:27 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MEASURE
OBJECT MODULE PLACED IN .\Output\Measure.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Measure.c COMPACT OPTIMIZE(9,SIZE) BROWSE INCDIR(.\Include\) DEBUG OBJECTEX
-TEND PRINT(.\Source\Measure.lst) OBJECT(.\Output\Measure.obj)
stmt level source
1 #include "Config.h"
2
3
4 #include "typedefs.h"
5
6 #include "main.h"
7 #include "tw88.h"
8 #include "measure.h"
9 #include "adc.h"
10 #include "i2c.h"
11 #include "dispinfo.h"
12 #include "pc_eep.h"
13 #include "etc_eep.h"
14 #include "printf.h"
15 #include "osdmenu.h"
16 #include "RegMap.h"
17 #include "panel.h"
18 #include "CPU.h"
19 #include "Audio.h"
20
21 //================== Input Measurement ====================================
22
23 //static WORD LastVPN=0;
24 //static DWORD LastIHF=0;
25 //static WORD LastIVF=0;
26 // Hans
27 IDATA BYTE cSourceState = ssSourceMonitor;
28
29 WORD VPosMax, VPosCurr, HPosMax, HPosCurr;
30
31 DWORD RGBPeak, PhaseRGB;
32
33 #ifdef WIDE_SCREEN
34 extern BYTE WideScreenMode;
35 #endif
36
37 static bit bPanelMute;
38 static BYTE cCounter;
39
40 CODE BYTE PcModeStr[][15] = {
41 "720x400 70Hz", // 0
42
43 "640x400 80Hz", // 1
44 "640x350 85Hz", // 2
45 "720x400 85Hz", // 3
46
47 "640x480 60Hz", // 4
48 "640x480 66Hz", // 5
49 "640x480 70Hz", // 6
50 "640x480 72Hz", // 7
51 "640x480 75Hz", // 8
52 "640x480 85Hz", // 9
53
54 "800x600 56Hz", // 10
C51 COMPILER V7.06 MEASURE 02/21/2008 14:00:27 PAGE 2
55 "800x600 60Hz", // 11
56 "800x600 70Hz", // 12
57 "800x600 72Hz", // 13
58 "800x600 75Hz", // 14
59 "800x600 85Hz", // 15
60
61 "832x624 75Hz", // 16
62
63 "1024x768 60Hz", // 17
64 "1024x768 70Hz", // 18
65 "1024x768 72Hz", // 19
66 "1024x768 75Hz", // 20
67 "1024x768 85Hz", // 21
68
69 "1152x864 60Hz", // 22
70 "1152x864 70Hz", // 23
71 "1152x864 75Hz", // 24
72
73 "1280x1024 60Hz", // 25
74 "1280x1024 70Hz", // 26
75 "1280x1024 75Hz", // 27
76
77 "RGB 480p 60Hz", // 28
78 "RGB 720p 60Hz", // 29
79 "RGB 720p 50Hz", // 30
80 "RGB 1080i 60Hz", // 31
81 "RGB 1080i 50Hz", // 32
82 "RGB 1080i 50Hz", // 33
83 "RGB 480i 60Hz", // 34
84 "RGB 576i 50Hz", // 35
85 "RGB 576p 50Hz", // 36
86
87 "YPbPr 480p", // 37
88 "YPbPr 720p", // 38
89 "YPbPr 720p50", // 39
90 "YPbPr 1080i", // 40
91 "YPbPr 1080i50", // 41
92 "YPbPr 1080i50", // 42
93 "YPbPr 480i", // 43
94 "YPbPr 576i", // 44
95 "YPbPr 576p", // 45
96
97 ""
98 };
99
100 //-------------------------------------------------------------------------
101 extern CODE struct RegisterInfo UserRange;
102
103 extern IDATA WORD IVF;
104 extern IDATA DWORD IHF;
105 extern BYTE DebugLevel;
106 extern bit Range4Coarse;
107 extern DATA WORD tm01, tm001;
108 extern DATA BYTE tic01;
109 extern DATA WORD tic_pc;
110
111 IDATA BYTE PcMode;
112
113 #if defined WVGA || defined WSVGA || defined WXGA || defined VGA_PRIMEVIEW
114 bit Flag4Bypass=0; // 0:non-bypass
115 #else
bit Flag4Bypass=0;//1; // 1:bypass
C51 COMPILER V7.06 MEASURE 02/21/2008 14:00:27 PAGE 3
#endif
118
119 //-----------------------------------------------------------------------------
120 extern CODE struct _PCMDATA PCMDATA[];
121
122 extern CODE BYTE *CheckPCCableStr[];
123 extern CODE BYTE *CheckDTVCableStr[];
124 extern CODE BYTE *OutOfRangeStr[] ;
125 #ifdef SUPPORT_COMPONENT
126 extern IDATA BYTE ComponentMode;
127 #endif
128 extern IDATA BYTE VInputStd;
129 extern bit AutoDetect;
130 extern IDATA BYTE InputSelection;
131 extern CODE BYTE COMPONENT_STR[][15] ;
132 extern bit DisplayInputHold;
133 extern CODE struct _PANELDATA PanelData; // Hans
134
135 CODE BYTE DTVMode[] = { EE_YPbPr_480I, EE_YPbPr_576I, EE_YPbPr_480P, EE_YPbPr_576P,
136 EE_YPbPr_1080I, EE_YPbPr_720P, EE_PC_UNKNOWN, EE_PC_UNKNOWN };
137 #define DetectDTVInputSource() DTVMode[ReadADC(0xC1)& 0x07]
138
139 #if defined( SUPPORT_PC ) || defined( SUPPORT_DTV )
140 //=============================================================================
141 /*BYTE Measure_VPN_IHF( WORD *p_vpn, DWORD *p_ihf)
142 {
143 DWORD ppf;
144 WORD hpn;
145
146
147 if( !MeasureAndWait(3) ) {
148
149 #ifdef DEBUG_PC
150 dPuts("\r\n ** Error at Get_VPN_IHF");
151 #endif
152 return 0;
153 }
154
155 ppf = GetPPF(); //
156 *p_vpn = GetVPN(); //
157 hpn = GetHPN(); // HPN = H Period Num
158
159 *p_ihf = (ppf + hpn/2) / hpn; // IHF = PPF / HPN
160
161 #ifdef DEBUG_PC
162 dPrintf("\r\n *** PPF=%ld HPN=%4d", ppf, hpn);
163 dPrintf(" --> VPN=%4d IHF=%ld ", *p_vpn, *p_ihf);
164 dPrintf(" IVF=%d", (WORD)((*p_ihf + *p_vpn/2) / *p_vpn) );
165
166 // dPrintf(" [%d, %ld]", LastVPN, LastIHF);
167
168 #endif
169
170 return 1;
171 }
172 */
173 void ResetPCValue(void)
174 {
175 1 SaveDefaultPCDataEE();
176 1 GetPCDataEE(PcMode);
177 1 }
178
C51 COMPILER V7.06 MEASURE 02/21/2008 14:00:27 PAGE 4
179 void StartNewDetect(void)
180 {
181 1 ClearEnDet();
182 1 MeasureAndWait(3);
183 1 SetEnDet();
184 1
185 1 WriteTW88(STATUS0, 0xff);
186 1 WriteTW88(STATUS1, 0xff);
187 1 }
188 /*
189 WORD gap(WORD a, WORD b)
190 {
191 if( a>b ) return a-b;
192 return b-a;
193 }
194 */
195 WORD GetCoarseValue(void)
196 {
197 1 return GetCoarse();
198 1 }
199
200 WORD SetPCCoarseValue(BYTE val) //1:Up 2:Dn
201 {
202 1 WORD coarse;
203 1
204 1 // WriteADC(0xc1, 0x30);
205 1 WriteADC(0xc0, 0x30);
206 1
207 1 coarse = GetCoarse();
208 1 if( val==UP ) coarse++;
209 1 else coarse--;
210 1
211 1 SetCoarse(coarse);
212 1 SaveCoarseEE(PcMode); // HHY 1.33
213 1
214 1 StartNewDetect();
215 1
216 1 // WriteADC(0xc1, 0x20);
217 1 WriteADC(0xc0, 0x20);
218 1 return coarse;
219 1 }
220
221
222 BYTE SetPhaseValue(BYTE val)
223 {
224 1 BYTE phase;
225 1
226 1 phase = GetPhaseCurrent();
227 1
228 1 if( val==UP ) {
229 2 if( phase>=31 ) return phase;
230 2 else phase++;
231 2 }
232 1 else {
233 2 if( phase==0 ) return phase;
234 2 else phase--;
235 2 }
236 1
237 1 SetPhase(phase);
238 1 SavePhaseEE(PcMode); // HHY 1.33
239 1
240 1 return phase;
C51 COMPILER V7.06 MEASURE 02/21/2008 14:00:27 PAGE 5
241 1 }
242
243 BYTE IsDTVInput(void)
244 {
245 1 if( GetInputSelection()==DTV || GetInputSelection()==PC ) {
246 2 if( PcMode>=EE_RGB_480P && PcMode<=EE_YPbPr_576P ) return 1;
247 2 }
248 1 return 0;
249 1 }
250
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?