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

📄 dvgxctrl.lst

📁 一个调整ADC gain offset 的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 429          0x028B,
 430          0x02D4,
 431          0x031B,
 432          0x0361,
 433          0x03A5,
 434          0x03E8,
 435          0x042B,
 436          0x046E,
 437          0x04AE,
 438          0x04EE,
 439          0x052E,
 440          0x056D,
 441          0x05AB,
 442          0x05E8,
 443          0x0625,
 444          0x0662,
 445          0x069F,
 446          0x06DB,
 447          0x0716,
 448          0x0752,
 449          0x078C,
 450          0x07C8,
 451          0x0802,
 452          0x083C,
 453          0x0875,
 454          0x08AF,
 455          0x08E8,
 456          0x0921,
 457          0x095A,
 458          0x0993,
 459          0x09CB,
 460          0x0A04,
 461          0x0A3B,
 462          0x0A73,
 463          0x0AAB,
 464          0x0AE3,
 465          0x0B1A,
 466          0x0B52,
 467          0x0B89,
 468          0x0BBF,
 469          0x0BFF,
 470          0x0BFF,
 471          0x0BFF,
 472          0x0BFF,
 473          0x0BFF,
 474          0x0BFF,
 475          0x0BFF,
 476          0x0BFF,
 477          0x0BFF,
 478          0x0BFF,
 479          0x0BFF,
 480          0x0BFF,
 481          0x0BFF,
 482          0x0BFF,
 483          0x0BFF,
 484          0x0BFF,
 485          //Gamma_G
 486          0x0000,
 487          0x0054,
 488          0x00A8,
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 9   

 489          0x00FD,
 490          0x0150,
 491          0x01A4,
 492          0x01F5,
 493          0x0240,
 494          0x028B,
 495          0x02D4,
 496          0x031B,
 497          0x0361,
 498          0x03A5,
 499          0x03E8,
 500          0x042B,
 501          0x046E,
 502          0x04AE,
 503          0x04EE,
 504          0x052E,
 505          0x056D,
 506          0x05AB,
 507          0x05E8,
 508          0x0625,
 509          0x0662,
 510          0x069F,
 511          0x06DB,
 512          0x0716,
 513          0x0752,
 514          0x078C,
 515          0x07C8,
 516          0x0802,
 517          0x083C,
 518          0x0875,
 519          0x08AF,
 520          0x08E8,
 521          0x0921,
 522          0x095A,
 523          0x0993,
 524          0x09CB,
 525          0x0A04,
 526          0x0A3B,
 527          0x0A73,
 528          0x0AAB,
 529          0x0AE3,
 530          0x0B1A,
 531          0x0B52,
 532          0x0B89,
 533          0x0BBF,
 534          0x0BFF,
 535          0x0BFF,
 536          0x0BFF,
 537          0x0BFF,
 538          0x0BFF,
 539          0x0BFF,
 540          0x0BFF,
 541          0x0BFF,
 542          0x0BFF,
 543          0x0BFF,
 544          0x0BFF,
 545          0x0BFF,
 546          0x0BFF,
 547          0x0BFF,
 548          0x0BFF,
 549          0x0BFF,
 550          //Gamma_B
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 10  

 551          0x0000,
 552          0x0054,
 553          0x00A8,
 554          0x00FD,
 555          0x0150,
 556          0x01A4,
 557          0x01F5,
 558          0x0240,
 559          0x028B,
 560          0x02D4,
 561          0x031B,
 562          0x0361,
 563          0x03A5,
 564          0x03E8,
 565          0x042B,
 566          0x046E,
 567          0x04AE,
 568          0x04EE,
 569          0x052E,
 570          0x056D,
 571          0x05AB,
 572          0x05E8,
 573          0x0625,
 574          0x0662,
 575          0x069F,
 576          0x06DB,
 577          0x0716,
 578          0x0752,
 579          0x078C,
 580          0x07C8,
 581          0x0802,
 582          0x083C,
 583          0x0875,
 584          0x08AF,
 585          0x08E8,
 586          0x0921,
 587          0x095A,
 588          0x0993,
 589          0x09CB,
 590          0x0A04,
 591          0x0A3B,
 592          0x0A73,
 593          0x0AAB,
 594          0x0AE3,
 595          0x0B1A,
 596          0x0B52,
 597          0x0B89,
 598          0x0BBF,
 599          0x0BFF,
 600          0x0BFF,
 601          0x0BFF,
 602          0x0BFF,
 603          0x0BFF,
 604          0x0BFF,
 605          0x0BFF,
 606          0x0BFF,
 607          0x0BFF,
 608          0x0BFF,
 609          0x0BFF,
 610          0x0BFF,
 611          0x0BFF,
 612          0x0BFF,
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 11  

 613          0x0BFF,
 614          0x0BFF,
 615          };
 616          
 617          
 618          
 619           BYTE m_acGainItemValue[3];
 620           WORD m_awOffsetItemValue[3];
 621          
 622          
 623           // added by holy 061216 for GAMMA 
 624          //static void dvGammaModeEn(BOOL bModeEn);
 625          //static void dvGammaLUTSet(void);
 626          
 627          
 628           void GxGainSet(BYTE CChannelSel,BYTE cGain)
 629          {
 630   1       switch(CChannelSel)
 631   1         {
 632   2           case  0://GX_ADC_R_GAIN:
 633   2                        dvRegisterWrite(IIC_GX_SLAVE_Addr,0x25,cGain);
 634   2                         break;
 635   2              case 1://GX_ADC_G_GAIN:
 636   2                         dvRegisterWrite(IIC_GX_SLAVE_Addr,0x24,cGain);
 637   2                         break;
 638   2                case 2://GX_ADC_B_GAIN:
 639   2                          dvRegisterWrite(IIC_GX_SLAVE_Addr,0x23,cGain);
 640   2                         break;
 641   2              default :
 642   2                       break;
 643   2              }
 644   1      }
 645           
 646            void GxOffsetSet(BYTE CChannelSel,WORD wOffset)
 647                  {
 648   1                 switch(CChannelSel)
 649   1                {
 650   2                        case  0://GX_ADC_R_OFFSET:       
 651   2                                 dvRegisterWrite(IIC_GX_SLAVE_Addr,0x5e,LoByte(wOffset));
 652   2                                 dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0x5f,0x30,HiByte(wOffset));
 653   2                                 break;
 654   2                        case 1://GX_ADC_G_OFFSET:
 655   2                                  dvRegisterWrite(IIC_GX_SLAVE_Addr,0x5d,LoByte(wOffset));
 656   2                                 dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0x5f,0xc0,HiByte(wOffset));
 657   2                                 break;
 658   2                        case 2://GX_ADC_B_OFFSET:
 659   2                                 dvRegisterWrite(IIC_GX_SLAVE_Addr,0x26,LoByte(wOffset));
 660   2                                 dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0x27,0xc0,HiByte(wOffset));
 661   2                                 break;
 662   2                      default :
 663   2                                 break;
 664   2                }
 665   1      }
 666          
 667          
 668           void GxGainGet(BYTE cFormatSel)
 669          {
 670   1        BYTE i;
 671   1              for(i=0;i<3;i++)
 672   1              {
 673   2               if(cFormatSel==0)
 674   2                m_acGainItemValue[i] = acGainTable_2In1[i];
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 12  

 675   2               else
 676   2                 m_acGainItemValue[i] = acGainTable_AFE[i];  
 677   2                GxGainSet(i,m_acGainItemValue[i]);
 678   2              }
 679   1      }
 680           
 681           void GxOffsetGet(BYTE cFormatSel)
 682           {
 683   1          BYTE i;
 684   1              
 685   1              for(i=0;i<3;i++)
 686   1              {
 687   2               if(cFormatSel==0)
 688   2                m_awOffsetItemValue[i] = awOffsetTable_2In1[i];
 689   2               else
 690   2                 m_awOffsetItemValue[i] = awOffsetTable_AFE[i]; 
 691   2               GxOffsetSet(i,m_awOffsetItemValue[i]); 
 692   2              }
 693   1              
 694   1      }
 695          
 696          void GxInitial(BYTE cFormatSel)
 697          {
 698   1          WORD i;
 699   1          
 700   1          if(cFormatSel ==0)
 701   1              {
 702   2                   for(i = 0; i < sizeof(asGx480I_InitialTable_1) / sizeof(STRUCT_REGVALUE); i++)
 703   2                   {
 704   3                          dvRegisterWrite(0x68,
 705   3                              asGx480I_InitialTable_1[i].cRegAddr, 
 706   3                              asGx480I_InitialTable_1[i].cValue);
 707   3                  }
 708   2                   for(i   = 0; i < sizeof(asGx480I_InitialTable_2) / sizeof(STRUCT_REGVALUE); i++)
 709   2                   {
 710   3                          dvRegisterWrite(0x60,
 711   3                              asGx480I_InitialTable_2[i].cRegAddr, 
 712   3                              asGx480I_InitialTable_2[i].cValue);
 713   3                  }
 714   2              }
 715   1      
 716   1          if(cFormatSel ==1)
 717   1              {
 718   2                   for(i   = 0; i < sizeof(asGx1080I_InitialTable_1) / sizeof(STRUCT_REGVALUE); i++)
 719   2                   {
 720   3                          dvRegisterWrite(0x68,
 721   3                              asGx1080I_InitialTable_1[i].cRegAddr, 
 722   3                              asGx1080I_InitialTable_1[i].cValue);
 723   3                  }
 724   2                   for(i   = 0; i < sizeof(asGx1080I_InitialTable_2) / sizeof(STRUCT_REGVALUE); i++)
 725   2                   {
 726   3                          dvRegisterWrite(0x60,
 727   3                              asGx1080I_InitialTable_2[i].cRegAddr, 
 728   3                              asGx1080I_InitialTable_2[i].cValue);
 729   3                  }
 730   2              }
 731   1           GxGainGet(cFormatSel);
 732   1           GxOffsetGet(cFormatSel);
 733   1               // added by holy 061216 for GAMMA 
 734   1              // dvGammaLUTSet();     
 735   1              //dvGammaModeEn(TRUE);
 736   1      }
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 13  

 737          
 738          
 739          
 740          void GxADCTestSet()
 741          {
 742   1        //Gx reset ,use FPGA I/O
 743   1      //    dvRegisterMaskWrite(IIC_FPGA_SLAVE_Addr, 0xe8, 0x03, 3);
 744   1      //    TimeDelay(50);
 745   1      //    dvRegisterMaskWrite(IIC_FPGA_SLAVE_Addr, 0xe8, 0x03, 0);
 746   1          //
 747   1          dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0xf2,0x40,0x0);
 748   1           dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0xff,0x3f,0x01);
 749   1           dvRegisterMaskWrite(IIC_GX_SLAVE_Addr,0xf2,0x40,0x1);
 750   1      } 
 751          #if 0
              //HM added,06/12/15
              void    GxColorSpaceSet()
              {
              //    dvRegisterMaskWrite(0x68,0x55,0x30,0x1);
                   dvRegisterMaskWrite(0x60,0x42,0x70,0x5);
              }
              
              // added by holy 061216 for GAMMA 
              
              // ---------------------------------------------------------------------------
              //   Gamma  mode set
              //
              // Params:
              // bModeEn : 0:by pass mode;1:gamma enable
              //
              // Return:
              //  None
              // ---------------------------------------------------------------------------
              void dvGammaModeEn(BOOL bModeEn)
              {
              
                      dvRegisterMaskWrite(I2C_Mallard2_ADDR,0x68,0x80,(BYTE)bModeEn);
                 if(bModeEn)
                      {
                            dvRegisterWrite(I2C_Mallard2_ADDR,0x13,0xc0);     
                              dvRegisterWrite(I2C_Mallard2_ADDR,0x14, 0x07);
                              dvRegisterWrite(I2C_Mallard2_ADDR,0x15,0x00 );
                      }
                 else
                      {
                             dvRegisterWrite(I2C_Mallard2_ADDR,0x13,0xc0);    
                              dvRegisterWrite(I2C_Mallard2_ADDR,0x14, 0x04);
                              dvRegisterWrite(I2C_Mallard2_ADDR,0x15,0x00 );
                      }
              }
              
              // ---------------------------------------------------------------------------
              //   set Gamma LUT
              //
              // Params:
              // cStatus: 0: gamma R;1:gamma G;2:gamma B.
              //
              // Return:
              //  None
              // ---------------------------------------------------------------------------
              void dvGammaLUTSet(void)
              {
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 14  

                      BYTE i,offset;
                      WORD Gamma_temp;
                      BYTE cStatus;
                      
                      for(cStatus=0;cStatus<3;cStatus++)
                      {
                              offset = cStatus*64;
                              dvGammaModeEn(0);
                              // set gamma LUT write mode
                              dvRegisterMaskWrite(I2C_Mallard2_ADDR,0x69,0x80,0);
                           
                              for(i=0;i<64;i++)
                              {
                                              //lut address
                                      dvRegisterWrite(I2C_Mallard2_ADDR,0x13, i+offset);
                                      Gamma_temp = anGammaTable_R_G_B[i+offset];
                                      //lut  Gamma data[7-0]
                                      dvRegisterWrite(I2C_Mallard2_ADDR,0x14, LoByte(Gamma_temp));
                                      //lut Gamma data[11:8]
                                      dvRegisterWrite(I2C_Mallard2_ADDR,0x15, HiByte(Gamma_temp));
                              }
                              dvGammaModeEn(1);
                      }
              }
              
              #endif
 825          
 826          
 827          
 828          
 829          
 830          
 831          
 832          
 833          
 834          
 835          
 836          
 837          
 838          
 839          
 840          
 841          
 842          
 843          
 844          
 845          
 846          
 847          
 848          
 849          
 850          
 851          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    717    ----
   CONSTANT SIZE    =    744    ----
   XDATA SIZE       =      9      10
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.50   DVGXCTRL                                                              01/17/2007 18:30:24 PAGE 15  

   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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