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

📄 msscartprocess.c

📁 lcd tv : MST9E19A原代码
💻 C
📖 第 1 页 / 共 2 页
字号:
                    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 + -