paltuner.lst

来自「显示屏驱动源代码」· LST 代码 · 共 747 行 · 第 1/3 页

LST
747
字号
                                  delay(20);  // Wait for 150mS
              
                                      if( IsVideoInput() ) 
                                              if(AFT(TEMP_TVFREQ)) break;
              
                                      if( (TEMP_TVFREQ > MAX_FREQUENCY ) || (TEMP_TVFREQ < MIN_FREQUENCY)) break;
                      };
              
                      if( IsAudioMuteOn() )   DisplayMuteInfo();
                      else AudioOn();
              
              }
              
              void ScanTVChannel(void)
C51 COMPILER V7.06   PALTUNER                                                              02/21/2008 14:00:31 PAGE 9   

              {
                      BYTE i;
                      BYTE str[4];
                      WORD addr;
                      DWORD TEMP_TVFREQ;
              
                      TVChannel = 0;
              
                      AudioOff();
              
                      //if( Colorsystem == SECAM_L_BAND ) TEMP_TVFREQ = SECAM_L_MIN; 
                      //else
                      TEMP_TVFREQ = MIN_FREQUENCY;
              
                      for( ; TEMP_TVFREQ < MAX_FREQUENCY; TEMP_TVFREQ += FREQ_INC ) //1Mhz++
                      {
                              if( WantToStopTVScan() ) break;
              
                              SetTVFreq( TEMP_TVFREQ ); 
                              delay(20);      // Wait for 200mS
              
                              if( IsVideoInput() ) {
                                      if(AFT(TEMP_TVFREQ)){
                                      //TVFreq = TEMP_TVFREQ; 
                                      TEMP_TVFREQ = TVFreq;   
                                      TEMP_TVFREQ += FREQ_INC*2;//32++; 2Mhz++
                                      TVChannel++;
              
                                      utoa( (WORD)TVChannel, str,10); 
                                      DisplayScanTVChannel(str);              // Display Channel
              
                                      SetTVFreqEE( TVChannel, TVFreq );
                                      SetTVPrSystem(TVChannel, 0);    // Not skip
                                      SetFineTuneEE(TVChannel, 0);    // FineTune = 0
              
                                      addr = FIRST_SAVEDPR+TVCHNAME + TVChannel*BYTEPERCHANNEL;       // Channel Name = "-----" (Default)
                                      for(i=0; i<5; i++, addr++)
                                              WriteEEP( addr, '-' );
                              } 
              
                              if( TVChannel > TOTAL_PR )      break;
                                      }                       
              
                              }//for
              
                      i=TVChannel+1;
              
                      TVChannel = DummyChannel = 1; // First Channel
              
              //070406-start
              #if  TVTunerDevice==LGTUNER_MK5 
                      ClearScanTV();  // for fast clear scantv osd
              #endif  //TVTunerDevice==LGTUNER_MK5 
              //070406-end
              
                      SetTVChannel();
              
                      if( IsAudioMuteOn() )   DisplayMuteInfo();
                      else AudioOn();
              
                      // Erase remain channel data 
                      for( ; i <= TOTAL_PR; i++ ){
C51 COMPILER V7.06   PALTUNER                                                              02/21/2008 14:00:31 PAGE 10  

                              SetTVFreqEE( i, 0x0fff );
                              SetTVPrSystem(i, SKIPCHN_MASK); // skip
                              WriteEEP(FIRST_SAVEDPR+TVCHNAME + i*BYTEPERCHANNEL, 0xff);      // First char of the name = 0xff;
                              SetFineTuneEE(i, 0);    // FineTune = 0
                      }
              
              }
              
              /*
              void SaveChannel( BYTE chn )
              {
                      TVChannel = chn;
                      SetTVFreqEE( TVChannel, TVFreq );
                      SetTVChannel();
              }
              */
              CODE struct RegisterInfo OSDFineTuneRange={ -31, 31, 0 };
              BYTE GetFineTune(void)
              {
                      char val;
                      int rd;
                      val =  GetFineTuneEE(TVChannel) ;
                      Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
                      return (BYTE)rd;
              }
              
              BYTE ChangeFineChannel(BYTE flag)
              {
                      int rd;
                      char val;
                      WORD Freq;
              
                      val = GetFineTuneEE(TVChannel) ;
                      Printf("\r\nFine Tune:%d", (WORD)val);
              
              //      if( val & 0x80 )        rd = -(val&0x7f)
                      val = ( flag==UP ?  val+1  :  val-1  );         
                      if( val < OSDFineTuneRange.Min || val > OSDFineTuneRange.Max )
                              return 0; // Retry!!
                      Freq = GetTVFreqEE(TVChannel);
              
                      Freq = Freq + val;
                      SetTVFreq( Freq );   
                      SetFineTuneEE(TVChannel, (BYTE)val);
              
                      Mapping1( val, &OSDFineTuneRange, &rd, &UserRange );
                      return (BYTE)rd;
              }
              
              
              void GetFirstChannel(void)
              {
                      TVChannel = DummyChannel = GetTVPrEE();
                      SetTVChannel();
              }
              
              BYTE IsSavedCurChn(void)
              {                                                                  
                      return( ( GetTVPrSystem( TVChannel ) & SKIPCHN_MASK ) ? CLEARED_CHN : SAVED_CHN   );
              }
              /*
              BYTE StoreClearCurChn(void)
C51 COMPILER V7.06   PALTUNER                                                              02/21/2008 14:00:31 PAGE 11  

              {
                      BYTE val,cleared;
              
                      val = GetTVPrSystem( TVChannel );
                      if( val & SKIPCHN_MASK )        {       val &= ( ~SKIPCHN_MASK );       cleared = SAVED_CHN ;    }
                      else                                            {       val |= SKIPCHN_MASK;        cleared = CLEARED_CHN ;     }
                      
                      SetTVPrSystem( TVChannel, val );
                      return cleared;
              }
              */
              void EditTVChn(BYTE _RemoDataCode)
              {
                      WORD TempChannel; 
                      TempChannel = DummyChannel ;
              
                      if( TVChManual ) {
                              TempChannel*= 10;
                              TempChannel+= _RemoDataCode;
              
                              if      (TempChannel > TOTAL_PR )
                              {                       
                                      while( TempChannel >= 10 )
                                              TempChannel -= 10;
                              }
                      }
                      else {
                              TempChannel = _RemoDataCode;
                      }
                      
                      DummyChannel = TempChannel;
                      DisplayTVChannel(DummyChannel, 0);
                      TVChManual = 1;         // Request to run channel after timeout.
              }
              
              void InitTV(void)
              {
              //070406-start
              #if  TVTunerDevice==LGTUNER_MK5 
              
                      BYTE TVSysIndex=0;
                      CODE BYTE PALSECAMTunerSysReg[] = {
                                                                                              0x56,0x72,0x49, //for B/G
                                                                                              0x56,0x72,0x4a, //for I
                                                                                              0x56,0x72,0x4b, //for D/K
                                                                                              0x46,0x50,0x4b, //for L
                                                                                              0xc6,0x50,0x53  //for L'
                                                      };
                      MTSType             = MTS_STEREO;
              
              
              
                      #ifdef DEBUG_TV
                      dPrintf("\r\n++(InitTV) TunerI2CAddress:0x%04x", (WORD)TVTunerI2CAddress);
                      #endif
              
                      TVSysIndex=GetVInputStdDetectModeEE();
                      WriteI2C(TVTunerIFI2CAddress, 0x00, PALSECAMTunerSysReg[TVSysIndex*3]);
                      WriteI2C(TVTunerIFI2CAddress, 0x01, PALSECAMTunerSysReg[TVSysIndex*3+1]);               
                      WriteI2C(TVTunerIFI2CAddress, 0x02, PALSECAMTunerSysReg[TVSysIndex*3+2]);               
              
              #else   //TVTunerDevice==LGTUNER_MK5 
C51 COMPILER V7.06   PALTUNER                                                              02/21/2008 14:00:31 PAGE 12  

              
                      MTSType             = MTS_STEREO;
              
                      #ifdef DEBUG_TV
                      dPrintf("\r\n++(InitTV) TunerI2CAddress:0x%04x", (WORD)TVTunerI2CAddress);
                      #endif
              
                      #if TVTunerDevice==TVAVA
                      WriteI2C(0x86, 0x00, 0x30);
                      WriteI2C(0x86, 0x01, 0x10);             //Set NTSC audio
                      WriteI2C(0x86, 0x02, 0x0c);             //Set NTSC Video
                      #endif
              
              #endif  //TVTunerDevice==LGTUNER_MK5 
              //070406-end
              
              }
              
              
              
              void ResetTVValue(void)
              {
              
              }
              
              #endif  //defined( PAL_TV ) && defined(SUPPORT_TV) 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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