📄 msscartprocess.c
字号:
ucPin8PrevEvent=PIN8_SCART2_HM;
}
}
}
else if(ucPin8StatusNew == PIN8_HIGH)
{
if(ucPin8StatusOld[1] == PIN8_LOW)
{
if(ucPin8PrevEvent != PIN8_SCART2_LH)
{
g_ucScart2Event = PIN8_SCART2_LH;
ucPin8PrevEvent=PIN8_SCART2_LH;
}
}
if(ucPin8StatusOld[1] == PIN8_MID)
{
if(ucPin8PrevEvent != PIN8_SCART2_MH)
{
g_ucScart2Event = PIN8_SCART2_MH;
ucPin8PrevEvent=PIN8_SCART2_MH;
}
}
}
ucPin8StatusOld[1] = ucPin8StatusNew;
}
#endif
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: msSetInputSource
//
// <Description>: switch video source
//
// <Returns> :
//
///////////////////////////////////////////////////////////////////////////////
void msSetInputSource(_InputSourceType inputSrc , ScartFormatEnumType scartFormat)
{
g_SysSetting.ucInputSourceType = inputSrc;
usrSaveMenu(USER_SAVE_SOURCE_DIRECTLY);
if(scartFormat==PIN8_FORMAT_OFF)//TV only
{
InputSourceSwitch(inputSrc);
}
else if(scartFormat==PIN8_FORMAT_16_9)
{
if(g_VideoSetting.bScartAutoFormat)
g_ucVideoScreen=VIDEOSCREEN_FULL;
InputSourceSwitch(inputSrc);
}
else// 4:3
{
if(g_VideoSetting.bScartAutoFormat)
#if (PANEL_TYPE == _4_3_PANEL)
g_ucVideoScreen=VIDEOSCREEN_NORMAL2;
#else
g_ucVideoScreen=VIDEOSCREEN_NORMAL;
#endif
InputSourceSwitch(inputSrc);
}
}
///////////////////////////////////////////////////////////////////////////////
// <Function>: msScartPortHandler
//
// <Description>: Handler scart port pin8 event every 100ms. Priority is: scart1, scart2
//
// <Returns> :
//
///////////////////////////////////////////////////////////////////////////////
#if (ENABLE_SCART2)
void msScartPortHandler(void)
{
BYTE ucTemp;
if(g_ucPowerManagerState != pmPowerIdle)
return;
if(g_ucScartHandlerCount--)
return;
g_ucScartHandlerCount=SCART_HANDLER_COUNT;
msCheckScartPin8Event();
////////////////////////////////////////////////////////////
// Scart 1 event handler
///////////////////////////////////////////////////////////
if (g_VideoSetting.bScartAutoFormat && (g_eSearchMode == TVSearch_INVALID) && ((g_ucScart1Event>PIN8_MIN_EVENT) && (g_ucScart1Event<PIN8_MAX_EVENT)))
{
printf("\r\nScartEvent1=%x", g_ucScart1Event);
switch(g_ucScart1Event)
{
case PIN8_SCART1_LM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV ||
g_SrcInfo.InputSrcType==INPUTSOURCE_SCART2 || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_16_9);
break;
case PIN8_SCART1_LH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV ||
g_SrcInfo.InputSrcType==INPUTSOURCE_SCART2 || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_4_3);
break;
case PIN8_SCART1_ML:
case PIN8_SCART1_HL:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART1)
{
ucTemp=msGetScart2Status();
if(ucTemp==PIN8_LOW)
msSetInputSource(INPUTSOURCE_TV,PIN8_FORMAT_OFF);
else if(ucTemp==PIN8_MID)
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_16_9);
else//Scart2 HIGH
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_4_3);
}
break;
case PIN8_SCART1_MH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART1 || g_ucScartForceSwitch[0])
if(g_VideoSetting.bScartAutoFormat)
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_4_3);
break;
case PIN8_SCART1_HM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART1 || g_ucScartForceSwitch[0])
if(g_VideoSetting.bScartAutoFormat)
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_16_9);
break;
}
g_ucScartForceSwitch[0] = FALSE;
g_ucScart1Event=PIN8_MIN_EVENT;
return;
}
////////////////////////////////////////////////////////////
// Scart 2 event handler
///////////////////////////////////////////////////////////
if (g_VideoSetting.bScartAutoFormat && (g_eSearchMode == TVSearch_INVALID) && ((g_ucScart2Event>PIN8_MIN_EVENT) && (g_ucScart2Event<PIN8_MAX_EVENT)))
{
printf("\r\nScartEvent2=%x", g_ucScart2Event);
switch(g_ucScart2Event)
{
case PIN8_SCART2_LM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV ||
g_SrcInfo.InputSrcType==INPUTSOURCE_SCART1 || g_ucScartForceSwitch[1])
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_16_9);
break;
case PIN8_SCART2_LH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV ||
g_SrcInfo.InputSrcType==INPUTSOURCE_SCART1 || g_ucScartForceSwitch[1])
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_4_3);
break;
case PIN8_SCART2_ML:
case PIN8_SCART2_HL:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART2)
{
ucTemp=msGetScart1Status();
if(ucTemp==PIN8_LOW)
msSetInputSource(INPUTSOURCE_TV,PIN8_FORMAT_OFF);
else if(ucTemp==PIN8_MID)
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_16_9);
else//Scart1 HIGH
msSetInputSource(INPUTSOURCE_SCART1,PIN8_FORMAT_4_3);
}
break;
case PIN8_SCART2_MH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART2 || g_ucScartForceSwitch[1])
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_4_3);
break;
case PIN8_SCART2_HM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART2 || g_ucScartForceSwitch[1])
msSetInputSource(INPUTSOURCE_SCART2,PIN8_FORMAT_16_9);
break;
}
g_ucScartForceSwitch[1] = FALSE;
g_ucScart2Event=PIN8_MIN_EVENT;
}
}
#else
void msScartPortHandler(void)
{
//BYTE ucTemp;
if(g_ucPowerManagerState != pmPowerIdle)
return;
if(g_ucScartHandlerCount--)
return;
g_ucScartHandlerCount=SCART_HANDLER_COUNT;
msCheckScartPin8Event();
////////////////////////////////////////////////////////////
// Scart 1 event handler
///////////////////////////////////////////////////////////
if (g_VideoSetting.bScartAutoFormat && (g_eSearchMode == TVSearch_INVALID) && ((g_ucScart1Event>PIN8_MIN_EVENT) && (g_ucScart1Event<PIN8_MAX_EVENT)))
{
printf("\r\nScartEvent1=%x", g_ucScart1Event);
switch(g_ucScart1Event)
{
case PIN8_SCART1_LM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART,PIN8_FORMAT_16_9);
break;
case PIN8_SCART1_LH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_TV || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART,PIN8_FORMAT_4_3);
break;
case PIN8_SCART1_ML:
case PIN8_SCART1_HL:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART)
{
msSetInputSource(INPUTSOURCE_TV,PIN8_FORMAT_OFF);
}
break;
case PIN8_SCART1_MH:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART,PIN8_FORMAT_4_3);
break;
case PIN8_SCART1_HM:
if(g_SrcInfo.InputSrcType==INPUTSOURCE_SCART || g_ucScartForceSwitch[0])
msSetInputSource(INPUTSOURCE_SCART,PIN8_FORMAT_16_9);
break;
}
g_ucScart1Event=PIN8_MIN_EVENT;
g_ucScartForceSwitch[0] = FALSE;
return;
}
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -