📄 rtd2533b_eeprom.c
字号:
pFlashTemp[0] = ucMode;
pFlashTemp[1] = (BYTE)(stModeUserCenterData.CenterHPos >> 8);
pFlashTemp[2] = (BYTE)stModeUserCenterData.CenterHPos;
pFlashTemp[3] = (BYTE)(stModeUserCenterData.CenterVPos >> 8);
pFlashTemp[4] = (BYTE)stModeUserCenterData.CenterVPos;
pFlashTemp[5] = (BYTE)(stModeUserCenterData.CenterClock >> 8);
pFlashTemp[6] = (BYTE)stModeUserCenterData.CenterClock;
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(page, pFlashTemp);
}
//--------------------------------------------------
// Description :
//
// Input Value :
// Output Value : None
//--------------------------------------------------
void CEepromLoadCenterModeData(BYTE ucMode)
{
BYTE page;
if(GET_MODE_SEARCH_TYPE() == _PRESET_MODE_TYPE)
page = _AUTO_PRESET;
else if(GET_MODE_SEARCH_TYPE() == _USER_MODE_TYPE)
page = _AUTO_USER;
if(CEepromLoadFlashData(page,ucMode,pFlashTemp))
{
stModeUserCenterData.CenterHPos = (pFlashTemp[1] << 8) | pFlashTemp[2];
stModeUserCenterData.CenterVPos = (pFlashTemp[3] << 8) | pFlashTemp[4];;
stModeUserCenterData.CenterClock = (pFlashTemp[5] << 8) | pFlashTemp[6];;
}
else
{
stModeUserCenterData.CenterHPos = tINPUTMODE_PRESET_TABLE[ucMode].IHStartPos;
stModeUserCenterData.CenterVPos = tINPUTMODE_PRESET_TABLE[ucMode].IVStartPos;
stModeUserCenterData.CenterClock = tINPUTMODE_PRESET_TABLE[ucMode].IHTotal;
}
}
//--------------------------------------------------
// Description : Initial mode setting data with defaults
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromInitialCenterModeData(void)
{
BYTE modecnt, i;
for(modecnt=0;modecnt<_MAX_PRESET_MODE;modecnt++)
{
if(CEepromLoadFlashData(_AUTO_PRESET,modecnt,pFlashTemp))
{
pFlashTemp[0] = modecnt;
pFlashTemp[1] = (BYTE)(tINPUTMODE_PRESET_TABLE[modecnt].IHStartPos >> 8);
pFlashTemp[2] = (BYTE)tINPUTMODE_PRESET_TABLE[modecnt].IHStartPos;
pFlashTemp[3] = (BYTE)(tINPUTMODE_PRESET_TABLE[modecnt].IVStartPos>> 8);
pFlashTemp[4] = (BYTE)tINPUTMODE_PRESET_TABLE[modecnt].IVStartPos;
pFlashTemp[5] = (BYTE)(tINPUTMODE_PRESET_TABLE[modecnt].IHTotal >> 8);
pFlashTemp[6] = (BYTE)tINPUTMODE_PRESET_TABLE[modecnt].IHTotal;
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(_AUTO_PRESET, pFlashTemp);
}
}
for(modecnt=0;modecnt<16;modecnt++)
{
if(CEepromLoadFlashData(_AUTO_USER,modecnt,pFlashTemp))
{
pFlashTemp[0] = modecnt;
for(i=1;i<8;i++)
pFlashTemp[i] = 0xff;
CEepromSaveFlashData(_AUTO_USER, pFlashTemp);
}
}
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Save system data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromSaveSystemData(void)
{
pFlashTemp[0] = 1;
pFlashTemp[1] = stSystemData.MonitorFlag;
pFlashTemp[2] = stSystemData.InputSource;
pFlashTemp[3] = stSystemData.BackLight;
pFlashTemp[4] = stSystemData.ColorTemp;
pFlashTemp[5] = stSystemData.Sharpness;
pFlashTemp[6] = stSystemData.UserFIFOMode;
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
//--------------------------------------------------
// Description : Load system data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadSystemData(void)
{
if(CEepromLoadFlashData(_GLOBAL,1,pFlashTemp))
{
stSystemData.MonitorFlag = pFlashTemp[1];
stSystemData.InputSource = pFlashTemp[2];
stSystemData.BackLight = pFlashTemp[3];
stSystemData.ColorTemp = pFlashTemp[4];
stSystemData.Sharpness = pFlashTemp[5];
stSystemData.UserFIFOMode = pFlashTemp[6];
}
else
{
stSystemData = tEEPROM_SYSTEM_DATA;
}
}
//--------------------------------------------------
// Description : Load default system data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadSystemDataDefault(void)
{
stSystemData = tEEPROM_SYSTEM_DATA;
CEepromSaveSystemData();
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Save OSD data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromSaveOsdUserData(void)
{
BYTE i, cnt=0;
if(sizeof(StructOsdUserDataType) > 6)
{
for(cnt=0;cnt<sizeof(StructOsdUserDataType)/7;cnt++)
{
pFlashTemp[0] = 21 + cnt;
for(i=1;i<8;i++)
pFlashTemp[i] = *(&stOsdUserData.OsdSettingFlag + cnt * 7 + i - 1);
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
}
if(sizeof(StructOsdUserDataType)%7 != 0)
{
pFlashTemp[0] = 21 + cnt;
for(i=1;i<sizeof(StructOsdUserDataType)%7;i++)
pFlashTemp[i] = *(&stOsdUserData.OsdSettingFlag + cnt * 7 + i - 1);
for(i=sizeof(StructOsdUserDataType)%7;i<8;i++)
pFlashTemp[i] = 0xff;
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
}
//--------------------------------------------------
// Description : Load OSD data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadOsdUserData(void)
{
BYTE cnt, i;
for(cnt=0;cnt<((sizeof(StructOsdUserDataType)%7)? sizeof(StructOsdUserDataType)/7 + 1 : sizeof(StructOsdUserDataType)/7);cnt++)
{
if(CEepromLoadFlashData(_GLOBAL,21 + cnt,pFlashTemp))
{
for(i=1;i<((cnt == sizeof(StructOsdUserDataType)/7) ? sizeof(StructOsdUserDataType)%7 : 8);i++)
*(&stOsdUserData.OsdSettingFlag + cnt * 7 + i - 1) = pFlashTemp[i];
}
else
{
stOsdUserData = tEEPROM_OSDUSER_DATA;
break;
}
}
}
//--------------------------------------------------
// Description : Load default OSD data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadOsdUserDataDefault(void)
{
stOsdUserData = tEEPROM_OSDUSER_DATA;
CEepromSaveOsdUserData();
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Save ADC data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromSaveAdcData(void)
{
pFlashTemp[0] = 2;
pFlashTemp[1] = stAdcData.AdcGain[_RED];
pFlashTemp[2] = stAdcData.AdcGain[_GREEN];
pFlashTemp[3] = stAdcData.AdcGain[_BLUE];
pFlashTemp[4] = stAdcData.AdcOffset[_RED];
pFlashTemp[5] = stAdcData.AdcOffset[_GREEN];
pFlashTemp[6] = stAdcData.AdcOffset[_BLUE];
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
//--------------------------------------------------
// Description : Load ADC data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadAdcData(void)
{
if(CEepromLoadFlashData(_GLOBAL,2,pFlashTemp))
{
stAdcData.AdcGain[_RED] = pFlashTemp[1];
stAdcData.AdcGain[_GREEN] = pFlashTemp[2];
stAdcData.AdcGain[_BLUE] = pFlashTemp[3];
stAdcData.AdcOffset[_RED] = pFlashTemp[4];
stAdcData.AdcOffset[_GREEN] = pFlashTemp[5];
stAdcData.AdcOffset[_BLUE] = pFlashTemp[6];
}
else
{
stAdcData = tEEPROM_ADC_DATA;
}
}
//--------------------------------------------------
// Description : Load default ADC data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadAdcDataDefault(void)
{
stAdcData = tEEPROM_ADC_DATA;
CEepromSaveAdcData();
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Save Brightness/Contrast data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromSaveBriConData(void)
{
pFlashTemp[0] = 3 + GET_INPUTSOURCE_TYPE();
pFlashTemp[1] = stConBriData.Brightness;
pFlashTemp[2] = stConBriData.Contrast;
pFlashTemp[3] = 0xff;
pFlashTemp[4] = 0xff;
pFlashTemp[5] = 0xff;
pFlashTemp[6] = 0xff;
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
//--------------------------------------------------
// Description : Load Brightness/Contrast data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadBriConData(void)
{
if(CEepromLoadFlashData(_GLOBAL,3 + GET_INPUTSOURCE_TYPE(),pFlashTemp))
{
stConBriData.Brightness = pFlashTemp[1];
stConBriData.Contrast = pFlashTemp[2];
}
else
{
stConBriData.Brightness = tEEPROM_COLOR_PROC0_DATA[GET_INPUTSOURCE_TYPE() * 2].Brightness;
stConBriData.Contrast = tEEPROM_COLOR_PROC0_DATA[GET_INPUTSOURCE_TYPE() * 2].Contrast;
}
}
//--------------------------------------------------
// Description : Load default Brightness/Contrast data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadBriConDataDefault(void)
{
stConBriData.Brightness = tEEPROM_COLOR_PROC0_DATA[GET_INPUTSOURCE_TYPE() * 2].Brightness;
stConBriData.Contrast = tEEPROM_COLOR_PROC0_DATA[GET_INPUTSOURCE_TYPE() * 2].Contrast;
CEepromSaveBriConData();
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Save Color Temperature data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromSaveColorTempData(void)
{
pFlashTemp[0] = 6 + GET_COLOR_TEMP_TYPE() + GET_INPUTSOURCE_TYPE() * 5;
pFlashTemp[1] = stColorTempData.ColorTemp[_RED];
pFlashTemp[2] = stColorTempData.ColorTemp[_GREEN];
pFlashTemp[3] = stColorTempData.ColorTemp[_BLUE];
pFlashTemp[4] = 0xff;
pFlashTemp[5] = 0xff;
pFlashTemp[6] = 0xff;
pFlashTemp[7] = 0xff;
CEepromSaveFlashData(_GLOBAL, pFlashTemp);
}
//--------------------------------------------------
// Description : Load Color Temperature data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadColorTempData(void)
{
if(CEepromLoadFlashData(_GLOBAL,6 + GET_COLOR_TEMP_TYPE() + GET_INPUTSOURCE_TYPE() * 5,pFlashTemp))
{
stColorTempData.ColorTemp[_RED] = pFlashTemp[1];
stColorTempData.ColorTemp[_GREEN] = pFlashTemp[2];
stColorTempData.ColorTemp[_BLUE] = pFlashTemp[3];
}
else
{
stColorTempData.ColorTemp[_RED] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3);
stColorTempData.ColorTemp[_GREEN] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3 + 1);
stColorTempData.ColorTemp[_BLUE] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3 + 2);
}
}
//--------------------------------------------------
// Description : Load default Color Temperature data
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadColorTempDataDefault(void)
{
stColorTempData.ColorTemp[_RED] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3);
stColorTempData.ColorTemp[_GREEN] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3 + 1);
stColorTempData.ColorTemp[_BLUE] = *(&tEEPROM_COLORTEMP_DATA[GET_INPUTSOURCE_TYPE()].ColorTemp9300Red + stSystemData.ColorTemp * 3 + 2);
CEepromSaveColorTempData();
}
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description : Load EDID data (MTV512)
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CEepromLoadEDIDData(void)
{
#if((_MCU_TYPE == _MYSON_MTV512) || (_MCU_TYPE == _REALTEK_RTD2120))
BYTE cnt;
MCU_ADC_DDC_ENA_FF20 = 0x06;
for(cnt=0;cnt<128;cnt++)
{
MCU_DDCRAM_0[cnt] = MCU_FLASH[(_END_PAGE - _START_PAGE + 1) * 1024 + ucFlashEDIDAddr * 8 - 256 + cnt];
MCU_DDCRAM_1[cnt] = MCU_FLASH[(_END_PAGE - _START_PAGE + 1) * 1024 + ucFlashEDIDAddr * 8 - 128 + cnt];
}
MCU_ADC_DDC_ENA_FF20 = 0x07;
#endif //End of #if((_MCU_TYPE == _MYSON_MTV512) || (_MCU_TYPE == _REALTEK_RTD2120))
}
//--------------------------------------------------
// Description : Load EDID data (MTV512)
// Input Value : None
// Output Value : None
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -