⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 measure.lst

📁 此程序为twell8806驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   MEASURE                                                               08/20/2007 10:23:31 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MEASURE
OBJECT MODULE PLACED IN Measure.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Measure.c COMPACT OPTIMIZE(9,SIZE)

line level    source

   1          #include "Config.h"
   2          
   3          //#define DEBUG_PC1
   4          
   5          #if defined( SUPPORT_PC ) || defined( SUPPORT_DTV )
   6          
   7          #include "typedefs.h"
   8          
   9          #include "main.h"
  10          #include "tw88.h"
  11          #include "measure.h"
  12          #include "adc.h"
  13          #include "i2c.h"
  14          #include "debug.h"
  15          #include "dispinfo.h"
  16          #include "pc_eep.h"
  17          #include "etc_eep.h"
  18          #include "printf.h"
  19          #include "osdmenu.h"
  20          #include "RegMap.h"
  21          #include "panel.h"
  22          
  23          //================== Input Measurement ====================================
  24          
  25          static PDATA    WORD  LastVPN=0;
  26          static PDATA    DWORD LastIHF=0;
  27          
  28          PDATA BYTE      VPosMax, VPosCurr, HPosMax, HPosCurr;
  29          
  30          PDATA DWORD RGBPeak, PhaseRGB;
  31          
  32          #ifdef WIDE_SCREEN
  33          extern PDATA BYTE WideScreenMode;
  34          #endif
  35          
  36          CODE BYTE PcModeStr[][15] = {
  37              "720x400 70Hz",     // 0
  38          
  39              "640x400 80Hz",     // 1
  40              "640x350 85Hz",     // 2
  41              "720x400 85Hz",     // 3
  42          
  43              "640x480 60Hz",     // 4
  44              "640x480 66Hz",     // 5
  45              "640x480 70Hz",     // 6
  46              "640x480 72Hz",     // 7
  47              "640x480 75Hz",     // 8
  48              "640x480 85Hz",     // 9
  49          
  50              "800x600 56Hz",     // 10
  51              "800x600 60Hz",     // 11
  52              "800x600 70Hz",     // 12
  53              "800x600 72Hz",     // 13
  54              "800x600 75Hz",     // 14
  55              "800x600 85Hz",     // 15
C51 COMPILER V7.50   MEASURE                                                               08/20/2007 10:23:31 PAGE 2   

  56              
  57              "832x624 75Hz",     // 16
  58          
  59              "1024x768 60Hz",    // 17
  60              "1024x768 70Hz",    // 18
  61              "1024x768 72Hz",    // 19
  62              "1024x768 75Hz",    // 20
  63              "1024x768 85Hz",    // 21
  64          
  65              "1152x864 60Hz",    // 22
  66              "1152x864 70Hz",    // 23
  67              "1152x864 75Hz",    // 24
  68              
  69                  "1280x1024 60Hz",       // 25
  70              "1280x1024 70Hz",   // 26
  71              "1280x1024 75Hz",   // 27
  72          
  73              "RGB 480p 60Hz",    // 28
  74              "RGB 720p 60Hz",    // 29
  75              "RGB 720p 50Hz",    // 30
  76              "RGB 1080i 60Hz",   // 31
  77              "RGB 1080i 50Hz",   // 32
  78              "RGB 1080i 50Hz",   // 33
  79              "RGB 480i 60Hz",    // 34
  80              "RGB 576i 50Hz",    // 35
  81              "RGB 576p 50Hz",    // 36
  82          
  83              "YPbPr 480p",       // 37
  84              "YPbPr 720p",       // 38
  85              "YPbPr 720p50",     // 39
  86              "YPbPr 1080i",      // 40
  87              "YPbPr 1080i50",    // 41
  88              "YPbPr 1080i50",    // 42
  89              "YPbPr 480i",       // 43
  90              "YPbPr 576i",       // 44
  91              "YPbPr 576p",       // 45
  92          
  93                  ""
  94          };
  95          
  96          //-------------------------------------------------------------------------
  97          extern CODE struct RegisterInfo UserRange;
  98          
  99          extern  IDATA WORD  IVF;
 100          extern  IDATA DWORD     IHF;
 101          extern  PDATA BYTE      DebugLevel;
 102          extern        bit   Range4Coarse;
 103          extern  DATA  WORD  tm01, tm001;
 104          extern  DATA  BYTE  tic01;
 105          extern  DATA  WORD  tic_pc;
 106          
 107                          IDATA BYTE PcMode;
 108          
 109          #if defined WVGA || defined WSVGA || defined WXGA || defined VGA_PRIMEVIEW
                              bit   Flag4Bypass=0;        // 0:non-bypass
              #else
 112                          bit   Flag4Bypass=0;//1;                // 1:bypass 
 113          #endif
 114          
 115          //-----------------------------------------------------------------------------
 116          extern  CODE struct _PCMDATA  PCMDATA[];
 117          
C51 COMPILER V7.50   MEASURE                                                               08/20/2007 10:23:31 PAGE 3   

 118          extern CODE BYTE *CheckPCCableStr[];
 119          extern CODE BYTE *CheckDTVCableStr[];
 120          extern CODE BYTE *OutOfRangeStr[] ;
 121          //=============================================================================
 122          BYTE Measure_VPN_IHF( WORD *p_vpn, DWORD *p_ihf)
 123          {
 124   1              DWORD ppf;
 125   1              WORD  hpn;
 126   1      
 127   1      
 128   1              if( !MeasureAndWait(3) ) {
 129   2              
 130   2                      #ifdef DEBUG_PC
                              Puts("\r\n  ** Error at Get_VPN_IHF");
                              #endif
 133   2                      return 0;
 134   2              }
 135   1      
 136   1              ppf    = GetPPF();                      //
 137   1              *p_vpn = GetVPN();                      //
 138   1              hpn    = GetHPN();                      // HPN = H Period Num
 139   1      
 140   1              *p_ihf = (ppf + hpn/2) / hpn;                   // IHF = PPF / HPN 
 141   1      
 142   1              #ifdef DEBUG_PC1
                      dPrintf("\r\n  *** PPF=%ld   HPN=%4d", ppf, hpn);
                      dPrintf("  --> VPN=%4d   IHF=%ld ", *p_vpn, *p_ihf);
                      dPrintf("  IVF=%d", (WORD)((*p_ihf + *p_vpn/2) / *p_vpn) );
              
                      dPrintf(" [%d, %ld]", LastVPN, LastIHF);
              
                      #endif
 150   1      
 151   1              return 1;
 152   1      }
 153          
 154          void ResetPCValue(void)
 155          {
 156   1              SaveDefaultPCDataEE();
 157   1              if( DetectAndSetForVGAInput(3)==FALSE )         // HHY 1.44 change 1 to 3
 158   1                      CloseOSDMenu();
 159   1      
 160   1              LCDPowerON(0);
 161   1      }
 162          
 163          void StartNewDetect(void)
 164          {
 165   1              ClearEnDet();
 166   1              MeasureAndWait(3);
 167   1              SetEnDet();
 168   1      
 169   1              WriteTW88(0xd0, 0xff);
 170   1              WriteTW88(0xd1, 0xff);
 171   1      }
 172          
 173          WORD gap(WORD a, WORD b)
 174          {
 175   1              if( a>b ) return a-b;
 176   1              return b-a;
 177   1      }
 178          
 179          WORD GetCoarseValue(void)
C51 COMPILER V7.50   MEASURE                                                               08/20/2007 10:23:31 PAGE 4   

 180          {
 181   1              return GetCoarse();
 182   1      }
 183          
 184          WORD SetPCCoarseValue(BYTE val)         //1:Up  2:Dn
 185          {
 186   1              WORD    coarse;
 187   1      
 188   1              WriteADC(0xc1, 0x30);
 189   1      
 190   1              coarse = GetCoarse();
 191   1              if( val==UP ) coarse++;
 192   1              else coarse--;
 193   1      
 194   1              SetCoarse(coarse);
 195   1              SaveCoarseEE(PcMode);   // HHY 1.33
 196   1      
 197   1              StartNewDetect();
 198   1      
 199   1              WriteADC(0xc1, 0x20);
 200   1              return coarse;
 201   1      }
 202          
 203          BYTE GetPhaseValue(void)
 204          {
 205   1              return (GetPhaseCurrent()>>3);
 206   1      }
 207          
 208          BYTE SetPhaseValue(BYTE val)
 209          {
 210   1              BYTE    phase;
 211   1      
 212   1              phase = GetPhaseValue();
 213   1      
 214   1              if( val==UP ) {
 215   2                      if( phase>=31 ) return phase;
 216   2                      else phase++;
 217   2              }
 218   1              else {
 219   2                      if( phase==0 ) return phase;
 220   2                      else phase--;
 221   2              }
 222   1      
 223   1              SetPhase(phase);
 224   1              SavePhaseEE(PcMode);    // HHY 1.33
 225   1      
 226   1              return phase;
 227   1      }
 228          
 229          BYTE IsDTVInput(void)
 230          {
 231   1              if( GetInputSelection()==DTV || GetInputSelection()==PC ) {
 232   2                      if( PcMode>=EE_RGB_480P && PcMode<=EE_YPbPr_576P ) return 1;
 233   2              }
 234   1              return 0;
 235   1      }
 236          
 237          IDATA struct RegisterInfo VPositionRange={0,100, 50};
 238          
 239          //=============================================================================
 240          //                    PC Screen Position Move Functions
 241          //=============================================================================
C51 COMPILER V7.50   MEASURE                                                               08/20/2007 10:23:31 PAGE 5   

 242          void MoveActiveVpos(BYTE dir)           //=== Up
 243          {
 244   1              char add;
 245   1      
 246   1              if( dir==UP ) {
 247   2                      if( VPosCurr>=VPosMax ) return;
 248   2                      add = 1;
 249   2              }
 250   1              else {
 251   2                      if( VPosCurr==0 ) return;
 252   2                      add = -1;
 253   2              }
 254   1              VPosCurr += add;
 255   1      
 256   1              if( IsBypassmode() ) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -