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

📄 dual_align.c

📁 realtek LCD monitor, TV开发源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
              CAdjustBacklight();
              CEepromSaveGlobalData0();
              CEepromSaveGlobalData4();
           }
        }
        break;

#endif//ColorTrack == _OFF

#if _HDCP_KEY_RW
        case(_ALIGN_EE_HDCP_READ_BANK0):
        {
              CEepromRead(_EEPROM_HDCP_CTRL_ADDRESS+RamI2cCommandData[1],LENGTH(1) ,&RamI2cCommandData[2]);
             //    CEepromRead((WORD)((RamI2cCommandData[0]&0x01)<<8)+ RamI2cCommandData[1],LENGTH(1),&RamI2cCommandData[2]);
        }
        break;
        case(_ALIGN_EE_HDCP_READ_BANK1):
        {
              CEepromRead(0x0100+_EEPROM_HDCP_CTRL_ADDRESS+RamI2cCommandData[1],LENGTH(1) ,&RamI2cCommandData[2]);
        }
        break;
        case(_ALIGN_EE_HDCP_WRITE_BANK0):
        {
              CEepromWrite(_EEPROM_HDCP_CTRL_ADDRESS+RamI2cCommandData[1],LENGTH(1) ,&RamI2cCommandData[2]);
        }
        break;
        case(_ALIGN_EE_HDCP_WRITE_BANK1):
        {
              CEepromWrite(0x0100+_EEPROM_HDCP_CTRL_ADDRESS+RamI2cCommandData[1],LENGTH(1) ,&RamI2cCommandData[2]);

        }
        break;
#endif

        default:
        {
           switch(RamI2cCommandData[0])
           {
//ryan 081218
        case(0x1B):
        {
                 if(RamI2cCommandData[1]==0x5A)
            {
                if((stGlobalData0.ColorTemp==_USER_COLOR)&&(stGlobalData4.BurnIn==_BURNIN_ON)&&((stModeInfo.ModeCurr==_MODE_1280x1024_75HZ)||((stModeInfo.ModeCurr==_MODE_1280x1024_76HZ)))&&(GET_INPUTSOURCE_STATUS() == _SOURCE_VGA))//ryan 081209
                   {
                       DisplayAutoBalanceGeneric();
                   }
                    }

        }
        break;
//ryan 081218
              case(0xD0): //AUTO POWER
           /*   {
                 if(RamI2cCommandData[1]==0xD9)
                     RamI2cCommandData[2] = (GET_AUTOPOWER_STATUS()+1);//0x02->_ON; 0x01->_OFF
                 else if(RamI2cCommandData[1]==0xAA)
                    SET_AUTOPOWER_STATUS(_OFF);
                 else
                    SET_AUTOPOWER_STATUS(_ON);

                 if(RamI2cCommandData[1]!=0xD9)
                    CEepromSaveGlobalData0();
              }*/
              {
               if((RamI2cCommandData[1] == 0xAA) && (ucCurrState != _PWOFF_STATE))
               {
#if(_SERVICE_PAGE == _ON)
                    bServiceMode=_FALSE;
#endif
                    SET_POWERSWITCH();
                    CLR_KEYSCANSTART();
                    CLR_KEYSCANREADY();
               }
               else if((RamI2cCommandData[1] != 0xAA) && (ucCurrState == _PWOFF_STATE))
               {
#if(_SERVICE_PAGE == _ON)
                    bServiceMode=_FALSE;
#endif
                    SET_POWERSWITCH();
                    CLR_KEYSCANSTART();
                    CLR_KEYSCANREADY();
               }
               CEepromSaveSystemData();
            }
              break;

              case(0xCE): //Burn-In
              {
                 if(RamI2cCommandData[1]==0x01)
                    stGlobalData4.BurnIn=_BURNIN_ON;
                 else
                    stGlobalData4.BurnIn=_BURNIN_OFF;
                 CEepromSaveGlobalData4();
              }
              break;
              case(0x1A): //To Factory
              {
                 SET_FACTORY_MODE(_ON);
                 CEepromSaveGlobalData0();
              }
              break;
              case(0x1E): //To User
              {
#if(_SERVICE_PAGE == _ON)
                 bServiceMode=_FALSE;
#endif
                 SET_FACTORY_MODE(_OFF);
                 CEepromSaveGlobalData0();
              }
              break;
              case(0x1F): //Recall All
              {
#if(_FACTORY_TYPE == _BQZ)
                 if(RamI2cCommandData[1]==0x5A)
#endif
                 {
#if(_OSD_TYPE == _BENQ_OSD)
                    DisplayDoRecallAllBenq();
#else
                    DisplayDoRecallAllGeneric();
#endif
                 }
              }
              break;
              case(0xB0): //Read HDCP From EEPROM //read EEprom Bank0
              case(0xB1): //read EEprom Bank1
              case(0xB2): //            Bank2
              case(0xB3): //            Bank3
              case(0xB4): //            Bank4
              case(0xB5): //            Bank5
              case(0xB6): //            Bank6
              case(0xB7): //            Bank7
              {
                 CEepromRead((WORD)((RamI2cCommandData[0]&0x07)<<8)+ RamI2cCommandData[1],LENGTH(1),&RamI2cCommandData[2]);
              }
              break;

              case(0xB8): //write EEprom Bank0
              case(0xB9): //write EEprom Bank1
              {
                 CEepromWrite((WORD)((RamI2cCommandData[0]&0x01)<<8)+ RamI2cCommandData[1],LENGTH(1),&RamI2cCommandData[2]);
              }
              break;

              case(0xCD): //Switch Input
              {
                 if(RamI2cCommandData[1]==0x01)
                 {//D-SUB
                    CSourceSwitchInputPort(_A0_INPUT_PORT);
                    SET_INPUTSOURCE_STATUS(_SOURCE_VGA);
                 }
                 else if(RamI2cCommandData[1]==0x02)
                 {//DVI
                    CSourceSwitchInputPort(_D0_INPUT_PORT);
                    SET_INPUTSOURCE_STATUS(_SOURCE_DVI);
                 }

                 SET_SOURCE_STATE(_SOURCE_AUTO_CHANGE_STATE);
                 CEepromSaveSystemData();
                 CEepromSaveGlobalData0();
                 CModeResetMode();
              }
              break;
              case(0xCF): //Enable/Disable Power Saving
              {
                 if(RamI2cCommandData[1]==0x01)
                 {
                    bNoWakeUp=_TRUE;
                    CModePowerSavingEvent();
                 }
                 else
                    bNoWakeUp=_FALSE;
              }
              break;

              case(0xFF): //EEPROM Initial
              {
                 if(RamI2cCommandData[1]==0x04)
                 {
                    CEepromInitial();
                    CAdjustBrightness();
                    CAdjustBacklight();
                    CAdjustContrast();
                 }
              }
              break;
              case(0xF1): //Power On
              {
                if(!GET_POWERSTATUS())
                {
#if(_SERVICE_PAGE == _ON)
                    bServiceMode=_FALSE;
#endif
                    SET_POWERSWITCH();
                    CLR_KEYSCANSTART();
                    CLR_KEYSCANREADY();
                 }
              }
              break;

              case(0xF0): //Power Off
              {
                 if(GET_POWERSTATUS())
                 {
#if(_SERVICE_PAGE == _ON)
                    bServiceMode=_FALSE;
#endif
                    SET_POWERSWITCH();
                    CLR_KEYSCANSTART();
                    CLR_KEYSCANREADY();
                 }
              }
              break;

              case(0x10)://ack AWB result       //ryan 081120 as w2108 iiyama no od 1b->10
              {
                 if(RamI2cCommandData[1]==0x5A)
                 {
                    if(bWBA_OK == _TRUE)
                       RamI2cCommandData[2]=0x55;//AWB Success
                    else
                       RamI2cCommandData[2]=0x00;//AWB Fail
                 }
              }
              break;

/*              case(0x1b): //AWB
              {
                 if(RamI2cCommandData[1]==0x5A)
                    CAutoDoWhiteBalance();
              }
              break;*/
              case(0x11): //ACFG
              {
                 if(RamI2cCommandData[1]==0x5A)
                    CAutoDoAutoConfig();
              }
              break;
              case(0x12): //Enable/Disable OSD Main Menu
              {
#if(_OSD_TYPE == _BENQ_OSD)
                 COsdFxOsdTimerBenq();
#else//_GENERIC_OSD
                 COsdFxOsdTimerGeneric();
#endif
                 if(RamI2cCommandData[1]==0x5A)
                 {
                    if(RamI2cCommandData[2]==0x01)
                    {
#if(_OSD_TYPE == _BENQ_OSD)
                       DisplayFactoryPageBenq();
                       COsdRightFactoryAdcBenq();
#else//_GENERIC_OSD
                       COsdExitFactoryBurnInOnOffGeneric();
                       COsdRightMainFactoryAdcGeneric();
#endif
                    }
                 }
              }
              break;
#if(_FACTORY_TYPE == _BQZ)
              case(0x14): //Load AC Cnt
              {
                 if(RamI2cCommandData[1]==0x5A)
                 {
                    CEepromLoadACCount();
                    RamI2cCommandData[2]=pData[15];
                 }

              }
              break;
#endif
           }
        }
        break;
     }
#if(_MCU_TYPE == _REALTEK_EMBEDDED)
     MCU_I2C_IRQ_CTRL2_FF2A = MCU_I2C_IRQ_CTRL2_FF2A | (_BIT6 | _BIT5);//0326 Sephinroth
     MCU_I2C_DATA_OUT_FF26=RamI2cCommandData[2];
#else
    MCU_I2C_DATA_OUT_FF2A=RamI2cCommandData[2];
#endif
   }
}

BYTE AlignMapToPercent(WORD RealValue,WORD Max,WORD Min)
{
   //return((DWORD)(RealValue-Min)*100)/(Max-Min);
   //

⌨️ 快捷键说明

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