📄 dvgxctrl.lst
字号:
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 + -