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

📄 userpref.c

📁 使用于克隆器
💻 C
📖 第 1 页 / 共 5 页
字号:
	s_I2CSel=TV_RAM;
	rmBurstReadBytes(rmVideoColorTempAddress(VIDEO_COLOR_TEMP_WARM), g_VideoColorTempOffset, SIZE_COLOR_TEMP_SETTING);	
      s_I2CSel=MCU_RAM;
	rmBurstWriteBytes(rmVideoColorTempAddress(VIDEO_COLOR_TEMP_WARM), g_VideoColorTempOffset, SIZE_COLOR_TEMP_SETTING);	
}

void DevVDPatchInit(void)
{
WORD ucrmAddr;

	ucrmAddr=rmDEVVDPatch_PAL_ItemAddress(0);
	rmWriteByte(ucrmAddr+0, DecoderDynamicSet_PAL_0A);
	rmWriteByte(ucrmAddr+1, DecoderDynamicSet_PAL_0B);
	rmWriteByte(ucrmAddr+2, DecoderDynamicSet_PAL_0C);
	rmWriteByte(ucrmAddr+3, DecoderDynamicSet_PAL_0F);
	rmWriteByte(ucrmAddr+4, DecoderDynamicSet_PAL_13);
	rmWriteByte(ucrmAddr+5, DecoderDynamicSet_PAL_17);	

	ucrmAddr=rmDEVVDPatch_NTSC_ItemAddress(0);
	rmWriteByte(ucrmAddr+0, DecoderDynamicSet_NTSC_0A);
	rmWriteByte(ucrmAddr+1, DecoderDynamicSet_NTSC_0B);
	rmWriteByte(ucrmAddr+2, DecoderDynamicSet_NTSC_0C);
	rmWriteByte(ucrmAddr+3, DecoderDynamicSet_NTSC_0F);
	rmWriteByte(ucrmAddr+4, DecoderDynamicSet_NTSC_13);
	rmWriteByte(ucrmAddr+5, DecoderDynamicSet_NTSC_17);

}


void tvInitSetting(void)
{WORD ChannelNum;
ChannelNum=USER_CHANNEL_MAXIMUM;
for(ChannelNum=0;ChannelNum<USER_CHANNEL_MAXIMUM;ChannelNum++)
{s_I2CSel=MCU_RAM;	
rmBurstReadBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType)); 
s_I2CSel=TV_RAM;
rmBurstWriteBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType)); 
s_I2CSel=MCU_RAM;
}
}
void tvLoadSetting(void)
{WORD ChannelNum;
ChannelNum=USER_CHANNEL_MAXIMUM;
for(ChannelNum=0;ChannelNum<USER_CHANNEL_MAXIMUM;ChannelNum++)
{s_I2CSel=TV_RAM;	
rmBurstReadBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType)); 
s_I2CSel=MCU_RAM;
rmBurstWriteBytes(rmCurrentChannelAddress(ChannelNum),(BYTE*)&TVChannelInfo,sizeof(TVChannelInfoType)); 
s_I2CSel=TV_RAM;
}
}


////***********************************
//6151
///************************************
#elif(Type_Select==Type_6151)

void usrInitVariableFromEEPROM(void)
{
    //Sys data
    usrInitFactorySetting(); // initialize system setting
    usrInitAllModeSetting(); // initialize all mode setting
    usrInitAdcSetting(); // initialize ADC setting
    usrInitScalerRGBSetting();
#if 0
#if ( TV_SYSTEM == TV_NTSC )
    usrInitChSetting( CHANNEL_SOURCE_AIR, 1 );
    usrInitChSetting( CHANNEL_SOURCE_CATV, 1 );
#elif ( TV_SYSTEM == TV_PAL || TV_SYSTEM == TV_CHINA )
    usrInitChSetting( CHANNEL_SOURCE_PAL, 0 );
#endif
#endif

    usrInitNonLinearAdjustCurve();  // initialize VIDEO non-linear curve setting

    //User data
    usrInitSystemSetting(); // initialize system setting
    usrInitVideoSetting();
    usrInitPCColorSetting();
    usrInitSoundSetting();
    usrInitTVSetting();

    usrInitVBISetting();


	    
}

void usrLoadVariableFromEEPROM(void)
{
       usrReadFactorySetting();
       usrLoadAllModeSetting();
       usrReadAdcSetting();
	 usrReadScalerRGBSetting();	 
	 usrLoadNonLinearAdjustCurve();
	 usrLoadSystemSetting();
	 usrLoadVideoSetting();
	 usrLoadPCColorSetting();
	 usrLoadSoundSetting();

       usrLoadTVSetting();
	 usrReadVBISetting();
}

// Video Pic mode Init
code PictureSettingType VideoModetbl[] =
{ //soft--naturnal--bright
    //Brightness Contrast Hue Saturation Sharpness
    #if 1   // V2.2
    {40, 50, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)30*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, 30},
    {50, 65, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)40*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION,30},
    {60, 75, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)50*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, 50}
    #else
    {40, 40, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)45*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS},
    {50, 50, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/2+MIN_VIDEO_SATURATION,            (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS},
    {60, 60, (MAX_VIDEO_HUE-MIN_VIDEO_HUE)/2+MIN_VIDEO_HUE, (WORD)65*(MAX_VIDEO_SATURATION-MIN_VIDEO_SATURATION)/100+MIN_VIDEO_SATURATION, (MAX_VIDEO_SHARPNESS-MIN_VIDEO_SHARPNESS)/2+MIN_VIDEO_SHARPNESS}
    #endif
};
void FacInitVideoModeSetting( void )
{
   s_I2CSel=TV_RAM;
    rmBurstWriteBytes( RM_FAC_VIDEO_SDTV_PIC_ADDRESS, ( BYTE * ) VideoModetbl, SIZE_FAC_VIDEO_PIC_SETTING );
    rmBurstWriteBytes( RM_FAC_VIDEO_HDTV_PIC_ADDRESS, ( BYTE * ) VideoModetbl, SIZE_FAC_VIDEO_PIC_SETTING );
}
#if 0
void LoadVideoModeSetting( VideoPictureModeEnumType PicModeIdx )
{
    rmBurstReadBytes( rmFacVideoSDTVPicAddress( PicModeIdx ), ( BYTE * ) &VideoSDTVMode, sizeof( PictureSettingType ) );
    rmBurstReadBytes( rmFacVideoHDTVPicAddress( PicModeIdx ), ( BYTE * ) &VideoHDTVMode, sizeof( PictureSettingType ) );
}
#endif

// PC Pic mode Init
code PCPictureSettingType PCModetbl[] =
{//soft--naturnal--bright
    #if 1
    {40, (WORD)50*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST},
    {50, (WORD)65*(MAX_PC_CONTRAST - MIN_PC_CONTRAST)  /100+ MIN_PC_CONTRAST},
    {60, (WORD)75*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST}
    #else
    {(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (WORD)35*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST},
    {(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (MAX_PC_CONTRAST - MIN_PC_CONTRAST)  /2+ MIN_PC_CONTRAST},
    {(MAX_PC_BRIGHTNESS-MIN_PC_BRIGHTNESS)/2+MIN_PC_BRIGHTNESS, (WORD)65*(MAX_PC_CONTRAST-MIN_PC_CONTRAST)/100+MIN_PC_CONTRAST}
    #endif
};
void FacInitPcPicModeSetting( void )
{
     s_I2CSel=TV_RAM;
    rmBurstWriteBytes( RM_FAC_PC_VGA_PIC_ADDRESS, ( BYTE * ) PCModetbl, SIZE_FAC_PC_PIC_SETTING );
    rmBurstWriteBytes( RM_FAC_PC_DVI_PIC_ADDRESS, ( BYTE * ) PCModetbl, SIZE_FAC_PC_PIC_SETTING );
}

#if 0
void LoadPCModeSetting( VideoPictureModeEnumType PicModeIdx )
{
    rmBurstReadBytes( rmFacPCVGAPicAddress( PicModeIdx ), ( BYTE * ) &VGAPicMode, sizeof( PCPictureSettingType ) );
    rmBurstReadBytes( rmFacPCDVIPicAddress( PicModeIdx ), ( BYTE * ) &DVIPicMode, sizeof( PCPictureSettingType ) );
}
#endif

// Color Temp Init
code ColorTempSettingType ColorTmpTbl[] =
{
    // Default
    { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, INIT_COLOR_TEMP_NORMAL_R, INIT_COLOR_TEMP_NORMAL_G, INIT_COLOR_TEMP_NORMAL_B},
    // 6500K
    { 183,168,101,113,74,197,152,116,113,150,128,127},
    // 7300K
    { 0x9B,0xAA,0x65,0x71,0x77,0xA1,0x83,0x74,0x71,0x8F,0x84,0x77},
    // 8500K
    { 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x77,0x6B,0x80,0x80,0x75},
    // 9300K
    {128,128,128,179,128,77,128,197,152,128,127,152},
    //User
    { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, INIT_COLOR_TEMP_NORMAL_R, INIT_COLOR_TEMP_NORMAL_G, INIT_COLOR_TEMP_NORMAL_B},
};
void FacInitPcColorSetting( void )
{
    s_I2CSel=TV_RAM;
    // VGA Color Temp Table
    rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + VGA_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );
    // DVI Color Temp Table
    rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + DVI_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );
    // VIDEO Color Temp Table
    rmBurstWriteBytes( RM_FAC_COLORTEMP_ADDRESS + VIDEO_COLOR_TEMP * SIZE_FAC_COLORTEMP, ( BYTE * ) ColorTmpTbl, SIZE_FAC_COLORTEMP );

    // rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+VGA_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
    // rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+DVI_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
    //  rmBurstWriteBytes(RM_COLORTEMP_ADDRESS+VIDEO_COLOR_TEMP*SIZE_COLOR_TEMP_SETTING, (BYTE *)ColorTmpTbl, SIZE_COLOR_TEMP_SETTING);
}
  

// Sound mode Init
code SoundSettingType SoundModeTbl[] =
{
    {3, 4, 5,6, 7, 6, 5, 4, 3, 50},//news
    {5, 5, 5, 5, 5, 5, 5, 5, 5, 50},//standard
    {8, 7, 6, 5, 6, 7, 8, 9, 10, 50},//music
};
void FacInitSoundSetting( void )
{
    s_I2CSel=TV_RAM;
    rmBurstWriteBytes( RM_FAC_SOUND_ADDRESS, ( BYTE * ) SoundModeTbl, SIZE_FAC_SOUND_SETTING );
}

#if 0
void LoadSoundModeSetting( SoundModeType SoundMode )
{
    rmBurstReadBytes( rmFacSoundAddress( SoundMode ), ( BYTE * ) &FacSoundSetting, sizeof( SoundSettingType ) );
}
#endif


// Factory Setting Init
void usrInitFactorySetting( void )
{
    FacInitVideoModeSetting();
    FacInitPcPicModeSetting();
    FacInitPcColorSetting(); // initialize color setting
    FacInitSoundSetting();
    usrWriteFactorySetting();
}


///////////////////////////////////////////////////////////////////////////////
// <Function>: usrSaveFacotorySetting
//
// <Description>: Save Factory setting.
///////////////////////////////////////////////////////////////////////////////
void usrWriteFactorySetting( void )
{
    s_I2CSel=MCU_RAM;
    rmBurstReadBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
    s_I2CSel=TV_RAM;
    rmBurstWriteBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
}
void usrReadFactorySetting( void )
{
    s_I2CSel=TV_RAM;
    rmBurstReadBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
    s_I2CSel=MCU_RAM;
    rmBurstWriteBytes( RM_FAC_SETTING_ADDRESS, ( BYTE * ) &g_FacSetting, SIZE_FAC_SETTING );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrInitSystemSetting
//
// <Description>: Initialize system setting.
///////////////////////////////////////////////////////////////////////////////
void usrInitSystemSetting( void )
{
   
    usrSaveSystemSetting();
}

///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadSystemSetting
//
// <Description>: Load system setting.
///////////////////////////////////////////////////////////////////////////////
void usrLoadSystemSetting( void )
{
    s_I2CSel=TV_RAM;
    rmBurstReadBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
    s_I2CSel=MCU_RAM;
    rmBurstWriteBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
        
}

///////////////////////////////////////////////////////////////////////////////
// <Function>: usrSaveSystemSetting
//
// <Description>: Save System setting.
///////////////////////////////////////////////////////////////////////////////
void usrSaveSystemSetting( void )
{
    s_I2CSel=MCU_RAM;
    rmBurstReadBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
    s_I2CSel=TV_RAM;
    rmBurstWriteBytes( RM_SYS_SETTING_ADDRESS, ( BYTE * ) &g_SysSetting, SIZE_SYS_SETTING );
        
}
 


///////////////////////////////////////////////////////////////////////////////
// <Function>: usrInitAdcSetting
//
// <Description>: Initialize ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrInitAdcSetting( void )
{
    s_I2CSel=MCU_RAM;
    usrLoadAdcSetting( ADC_SET_VGA );
    usrLoadAdcSetting( ADC_SET_YPBPR );
    s_I2CSel=TV_RAM;
    usrSaveAdcSetting( ADC_SET_VGA );
    usrSaveAdcSetting( ADC_SET_YPBPR );
}

void usrReadAdcSetting( void )
{
    s_I2CSel=TV_RAM;
    usrLoadAdcSetting( ADC_SET_VGA );
    usrLoadAdcSetting( ADC_SET_YPBPR );
    s_I2CSel=MCU_RAM;
    usrSaveAdcSetting( ADC_SET_VGA );
    usrSaveAdcSetting( ADC_SET_YPBPR );
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadAdcSetting
//
// <Description>: Load ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrLoadAdcSetting( AdcSetIndexType SetIndex )
{
    rmBurstReadBytes( rmAdcSetAddress( SetIndex ), ( BYTE * ) &g_AdcSetting, SIZE_ADC_SETTING );
}

///////////////////////////////////////////////////////////////////////////////
// <Function>: usrLoadAdcSetting
//
// <Description>: Load ADC setting.
///////////////////////////////////////////////////////////////////////////////
void usrSaveAdcSetting( AdcSetIndexType SetIndex )
{
     
    rmBurstWriteBytes( rmAdcSetAddress( SetIndex ), ( BYTE * ) &g_AdcSetting, SIZE_ADC_SETTING );

⌨️ 快捷键说明

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