📄 osdsm.c
字号:
/*****************************************************************
x.hu, 20050614
This file is for debuging firmware, so all the items may be removed
to other files.
*****************************************************************/
#include "..\Header\Include.h"
#if(_VIDEO_SUPPORT == _ON)
#if (_CUSTOM_TYPE == _CUSTOM_HAOZHEN)
#if (_OSD_SM_ENABLE)
BYTE code tOSD_MU_BRIGHTNESS_STR[] =
{
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
0x00,_B_,_R_,_I_,_G_,_H_,_T_,_N_,_E_,_S_,_S_,_END_,
};
BYTE code tOSD_MU_CONTRAST_STR[] =
{
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
0x00,0x00,_C_,_O_,_N_,_T_,_R_,_A_,_S_,_T_,0x00,_END_,
};
BYTE code tOSD_MU_SHARPNESS_STR[] =
{
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
0x00,_S_,_H_,_A_,_R_,_P_,_N_,_E_,_S_,_S_,0x00,_END_,
};
BYTE code tOSD_MU_HUE_STR[] =
{
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
0x00,0x00,0x00,0x00,0x00,_H_,_U_,_E_,0x00,0x00,0x00,_END_,
};
BYTE code tOSD_MU_SATURATION_STR[] =
{
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
0x00,_S_,_A_,_T_,_U_,_R_,_A_,_T_,_I_,_O_,_N_,_END_,
};
BYTE code tOSD_MU_MUTE_STR[] =
{
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
_M_,_U_,_T_,_E_,_END_,
};
BYTE code tOSD_MU_MUTE_ONOFF_STR[][4] =
{
{ _O_,_N_,0x00,_END_, },
{ _O_,_F_,_F_,_END_, },
};
BYTE code tOSD_MU_VOLUME_STR[] =
{
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
0x00,0x00,0x00,0x00,0x00,_V_,_O_,_L_,_U_,_M_,_E_,_END_,
};
#if (_PCB_RIGHTECH_A_USE_PV013BA1 == _TRUE)
#if (_INFRARED_ENABLE == _TRUE)
BYTE code tOSD_MU_IREMIT_STR[] =
{
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
_I_,_R_,_END_,
};
BYTE code tOSD_MU_IREMIT_VALUE_STR[][9] =
{
{ _3_,_DOT_,_3_,0x00,_3_,_DOT_,_8_,_END_, },
{ _2_,_DOT_,_3_,0x00,_2_,_DOT_,_8_,_END_, },
};
#endif
#endif
BYTE code tOSD_MU_FM_STR[] =
{
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
_F_,_M_,0x00,_F_,_R_,_E_,_Q_,_U_,_E_,_N_,_C_,_E_,_END_,
};
BYTE code tOSD_MU_DEFAULT_STR[] =
{
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
_D_,_E_,_F_,_A_,_U_,_L_,_T_,0x00,0x00,_V_,_E_,_R_,_END_,
};
BYTE code tOSD_MU_EXIT_STR[] =
{
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
_S_,_A_,_V_,_E_,0x00,_A_,_N_,_D_,0x00,_E_,_X_,_I_,_T_,_END_,
};
//----------------------------------------------------------------------------------------------------
// OSD Operation
//----------------------------------------------------------------------------------------------------
void COsdMUMenuSetPosition(void)
{
#if (_PANEL_TYPE == _PANEL_TD141TGCB1)
//set osd position
//if H double, set position as:
COsdFxSetPosition(WIDTH(_OSD_MAIN_DH_END), HEIGHT(_OSD_HINT_DV_END), 80, 0, 0x01);
#elif (_PANEL_TYPE ==_PANEL_JIALUHUA ||_PANEL_TYPE == _PANEL_LQ104V1DG51)
COsdFxSetPosition(WIDTH(_OSD_MAIN_DH_END), HEIGHT(36), 50, 0, 0x01);
#elif (_PANEL_TYPE == _PANEL_LQ092Y3DG01)
COsdFxSetPosition(WIDTH(_OSD_MAIN_DH_END), HEIGHT(36), 55, 0, 0x01);
#else
COsdFxSetPosition(WIDTH(_OSD_MAIN_DH_END), HEIGHT(_OSD_HINT_DV_END), 36, 0, 0x01);
#endif
}
void COsdMUMenuNone(void)
{
if (ucCurrState != _ACTIVE_STATE)
return;
bVideoSharpness = 0;
COsdFxDisableOsd();
//apply osd map
COsdFxApplyMapSetting(_OSD_MAP4);
//clear original text, may not need
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(_OSD_LINE_HEIGHT));
//CLR_KEYREPEATENABLE();
////SET_KEYREPEATENABLE();
//set text color
COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1), _MUCP_TEXT, _MUCP_TEXTBG);
//write text
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_BRIGHTNESS_STR);
//write progress bar
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL),LENGTH(_OSD_POS_SLIDER_LEN), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Brightness, _SLIDER_MAX_BRIGHTNESS, 0, _MUCP_BAR, _MUCP_BARBG);
//border color
COsdFxPWMCtlCommand(ADDRESS(3), _WRITE_BYTE1, (_OSD_BORDER_COLOR<<4));
COsdMUMenuSetPosition();
//change state
COsdDispState(_MENU_MU_BRIGHT);
COsdFxEnableOsd();
}
void COsdMUMenuBright(void)
{
//CLR_KEYREPEATENABLE();
////SET_KEYREPEATENABLE();
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_CONTRAST_STR);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Contrast, _SLIDER_MAX_CONTRAST, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_CONTRAST);
}
void COsdMULeftBright(void)
{
SET_KEYREPEATENABLE();
stVideoData.Brightness = COsdFxDetOverRange(stVideoData.Brightness, _SLIDER_MAX_BRIGHTNESS, 0, _DET_OVERRANGE_MIN);
CAdjustVideoBright();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Brightness, _SLIDER_MAX_BRIGHTNESS, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMURightBright(void)
{
SET_KEYREPEATENABLE();
stVideoData.Brightness = COsdFxDetOverRange(stVideoData.Brightness, _SLIDER_MAX_BRIGHTNESS, 0, _DET_OVERRANGE_MAX);
CAdjustVideoBright();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Brightness, _SLIDER_MAX_BRIGHTNESS, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMUMenuContrast(void)
{
//CLR_KEYREPEATENABLE();
////SET_KEYREPEATENABLE();
bVideoSharpness = 1;
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_SHARPNESS_STR);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.VSharpness, _SLIDER_MAX_SHARPNESS, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_SHARPNESS);
}
void COsdMULeftContrast(void)
{
SET_KEYREPEATENABLE();
stVideoData.Contrast = COsdFxDetOverRange(stVideoData.Contrast, _SLIDER_MAX_CONTRAST, 0, _DET_OVERRANGE_MIN);
CAdjustVideoContrast();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Contrast, _SLIDER_MAX_CONTRAST, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMURightContrast(void)
{
SET_KEYREPEATENABLE();
stVideoData.Contrast = COsdFxDetOverRange(stVideoData.Contrast, _SLIDER_MAX_CONTRAST, 0, _DET_OVERRANGE_MAX);
CAdjustVideoContrast();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Contrast, _SLIDER_MAX_CONTRAST, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMUMenuSharpness(void)
{
////SET_KEYREPEATENABLE();
bVideoSharpness = 0;
//#if (_OSD_VHUE_ENABLE == _TRUE) // x.hu, 20050902, update for 5key project
#if (_OSD_VHUE_ENABLE == _TRUE || _CUSTOM_HAOZHEN_PRJ5K == _TRUE) // x.hu, 20050902, update for 5key project
// skip Hue for PAL has no hue item
if (1){//(CHECK60HZ()) { // We simulate the demo's action, so it is not checked of PAL or NTSC.
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_HUE_STR);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Hue, _SLIDER_MAX_HUE, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_HUE);
}
else {
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_SATURATION_STR);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Saturation, _SLIDER_MAX_HUE, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_SATURATION);
}
#else
// if HUE is masked according to the customer's request, it skips to SATURATION directly.
COsdMUMenuHue();
#endif
}
void COsdMULeftSharpness(void)
{
SET_KEYREPEATENABLE();
stVideoData.VSharpness = COsdFxDetOverRange(stVideoData.VSharpness, _SLIDER_MAX_SHARPNESS, 0, _DET_OVERRANGE_MIN);
CAdjustVideoSharpness();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.VSharpness, _SLIDER_MAX_SHARPNESS, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMURightSharpness(void)
{
SET_KEYREPEATENABLE();
stVideoData.VSharpness = COsdFxDetOverRange(stVideoData.VSharpness, _SLIDER_MAX_SHARPNESS, 0, _DET_OVERRANGE_MAX);
CAdjustVideoSharpness();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.VSharpness, _SLIDER_MAX_SHARPNESS, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMUMenuHue(void)
{
////SET_KEYREPEATENABLE();
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_SATURATION_STR);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Saturation, _SLIDER_MAX_SATURATION, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_SATURATION);
}
void COsdMULeftHue(void)
{
SET_KEYREPEATENABLE();
stVideoData.Hue = COsdFxDetOverRange(stVideoData.Hue, _SLIDER_MAX_HUE, 0, _DET_OVERRANGE_MIN);
CAdjustVideoHue();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Hue, _SLIDER_MAX_HUE, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMURightHue(void)
{
SET_KEYREPEATENABLE();
stVideoData.Hue = COsdFxDetOverRange(stVideoData.Hue, _SLIDER_MAX_HUE, 0, _DET_OVERRANGE_MAX);
CAdjustVideoHue();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Hue, _SLIDER_MAX_HUE, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -