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

📄 dispatch.c

📁 Bitek 公司 bit1611b模拟屏驱动芯片外接MCU驱动DEMO源码
💻 C
📖 第 1 页 / 共 5 页
字号:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ContrastMenu (void)
{
    #if (MENU_STYLE_CFG == MENU_STYLE_SCROLLING_3)
    // Nothing
    #elif (OSD_CFG == OSD_BIT1611B)
    // ICON of Window 3
    OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
                     1,
                     OSD3_COLOR_ICON                );
    // Show Icon
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON,   OSD_Y_ICON, OSD_17_CONTRAST);
    #elif (OSD_CFG == OSD_MTV121)
    // Show Icon
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON,   OSD_Y_ICON, OSD_D0_CONTRAST_L);
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON+1, OSD_Y_ICON, OSD_D1_CONTRAST_R);
    #endif

    // Show Title
    OSD_ShowMsg(OSD_SUBMENU,
                OSD_X_TITLE,
                OSD_Y_TITLE,
                apbMainMenu[ bMenuCurrentItem ]);

    // VD !
    bIdx = (tsEYD.bContrast - CONTRAST_MIN) / CONTRAST_STEP;

    // Show Value
    OSD_ShowValue(OSD_SUBMENU,
                  OSD_SUBMENU_WIDTH - OSD_W_VALUE - 1,
                  OSD_Y_VALUE,
                  bIdx,
                  OSD_W_VALUE                           );

    // To display Bar
    OSD_DspProgressBar(OSD_SUBMENU,
                       OSD_X_BAR,
                       OSD_Y_BAR,
                       CONTRAST_OSD_MIN,
                       CONTRAST_OSD_MAX,
                       bIdx,
                       OSD_BAR_WIDTH,
                       OSD_STYLE_CFG                );

    bSystemState = SYSTEM_CONTRAST_MENU;

    #if (YUV_GO_POOLING)
    if (fYUV_Go_Pooling)
        OSD_ShowChar(OSD_SUBMENU, 0, 0, ' ');
    else
        OSD_ShowChar(OSD_SUBMENU, 0, 0, 'X');
    #endif
} /* DISPATCH_ContrastMenu */
#endif  // DISPATCH_CONTRAST
#endif


#if (DISPATCH_DISPLAYMODE)
/* -------------------------------------------------------------------
    Name: DISPATCH_DisplayModeGo -
    Purpose: To adjust DISPLAY MODE of VP.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_DisplayModeGo (void)
{
    switch (bKey = KEY_BufferOut())
    {
        case KEY_STILL_POWER:
        case KEY_IR_POWER:
            POR_PowerOff();
            break;

        case KEY_UP:
        case KEY_DOWN:
        case KEY_IR_UP:
        case KEY_IR_DOWN:
            OSD_ShowChar(OSD_SUBMENU,
                         OSD_X_DISPLAY + OSD_X_DISPLAY_STEP * tsEGD.bDisplay_Mode,
                         OSD_Y_DISPLAY,
                         OSD_ICON_CHECK_OFF);

            if ((bKey == KEY_DOWN)      ||
                (bKey == KEY_IR_DOWN)      )
            {
                tsEGD.bDisplay_Mode = (tsEGD.bDisplay_Mode + DISPLAY_MODE_SIZE - 1) %
                                      DISPLAY_MODE_SIZE;
            }
            else
            {
                tsEGD.bDisplay_Mode = (tsEGD.bDisplay_Mode + 1) %
                                      DISPLAY_MODE_SIZE;
            }

            // To backup
            EEPROM_TxBurst(EGD_ADDR_DISPLAY_MODE,
                           sizeof(tsEGD.bDisplay_Mode),
                           (UB8 *)&tsEGD.bDisplay_Mode  );

            // To adjust VP
            VP_DisplayMode(tsEGD.bDisplay_Mode);

            OSD_ShowChar(OSD_SUBMENU,
                         OSD_X_DISPLAY + OSD_X_DISPLAY_STEP * tsEGD.bDisplay_Mode,
                         OSD_Y_DISPLAY,
                         OSD_ICON_CHECK_ON);
            break;


        case KEY_RELEASE_MENU:
        case KEY_IR_MENU:
        case KEY_RELEASE_SELECT:
        case KEY_IR_SELECT:
            MENU_EnableMenu(MENU_SUBMENU, OFF);
            MENU_EnableMenu(MENU_MAINMENU, ON);
            bSystemState = SYSTEM_MAIN_MENU;
            break;


        case KEY_UP_DOWN:
            bSystemState = SYSTEM_RESET_MENU;
            break;

        default:
            break;
    } // switch KEY_BufferOut()
} /* DISPATCH_DisplayModeGo */


/* -------------------------------------------------------------------
    Name: DISPATCH_DisplayModeMenu -
    Purpose: To adjust DISPLAY MODE of VP.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_DisplayModeMenu (void)
{
    // ICON of Window 3
    OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
                     1,
                     OSD3_COLOR_ICON_USER               );
    // Show Icon
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON,   OSD_Y_ICON, OSD_7B_DISPLAY_MODE);


    // Show Title
    OSD_ShowMsg(OSD_SUBMENU,
                OSD_X_TITLE,
                OSD_Y_TITLE,
                apbMainMenu[ bMenuCurrentItem ]);

    // Show Display Mode
    for (bIdx = 0; bIdx < DISPLAY_MODE_SIZE; bIdx++)
    {
        OSD_ShowChar(OSD_SUBMENU,
                     OSD_X_DISPLAY + OSD_X_DISPLAY_STEP * bIdx,
                     OSD_Y_DISPLAY,
                     OSD_ICON_CHECK_OFF);

        OSD_ShowMsg(OSD_SUBMENU,
                    OSD_X_DISPLAY + OSD_X_DISPLAY_STEP * bIdx + 1,
                    OSD_Y_DISPLAY,
                    apbDISPLAY_MODE[ bIdx ]);
    }

    OSD_ShowChar(OSD_SUBMENU,
                 OSD_X_DISPLAY + OSD_X_DISPLAY_STEP * tsEGD.bDisplay_Mode,
                 OSD_Y_DISPLAY,
                 OSD_ICON_CHECK_ON);

    bSystemState = SYSTEM_DISPLAY_MODE_MENU;
} /* DISPATCH_DisplayModeMenu */
#endif


#if (DISPATCH_HUE)
/* -------------------------------------------------------------------
    Name: DISPATCH_HueGo -
    Purpose: To adjust HUE of VD.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_HueGo (void)
{
    switch (bKey = KEY_BufferOut())
    {
        case KEY_STILL_POWER:
        case KEY_IR_POWER:
            POR_PowerOff();
            break;

        case KEY_UP:
        case KEY_DOWN:
        case KEY_IR_UP:
        case KEY_IR_DOWN:
            if ((bKey == KEY_DOWN)      ||
                (bKey == KEY_IR_DOWN)       )
            {
                if (tsEYD.bHue > HUE_MIN)
                    tsEYD.bHue -= HUE_STEP;
                else
                    tsEYD.bHue = HUE_MAX;
            }
            else
            {
                if (tsEYD.bHue < HUE_MAX)
                    tsEYD.bHue += HUE_STEP;
                else
                    tsEYD.bHue = HUE_MIN;
            }

            EEPROM_TxBurst(EYD_ADDR_HUE,
                           sizeof(tsEYD.bHue),
                           (UB8 *)&tsEYD.bHue   );


            bIdx = (tsEYD.bHue - HUE_MIN) / HUE_STEP;

            // Set the new HUE phase (degree)
            YUV_SetHue(tsEYD.bHue);

            // To show Value
            OSD_ShowValue(OSD_SUBMENU,
                          OSD_SUBMENU_WIDTH - OSD_W_VALUE - 1,
                          OSD_Y_VALUE,
                          bIdx,
                          OSD_W_VALUE                           );

            // To display Track Bar
            OSD_DspTrackBar(OSD_SUBMENU,
                            OSD_X_BAR,
                            OSD_Y_BAR,
                            HUE_OSD_MIN,
                            HUE_OSD_MAX,
                            bIdx,
                            OSD_BAR_WIDTH   );
            break;

        case KEY_RELEASE_MENU:
        case KEY_IR_MENU:
        case KEY_RELEASE_SELECT:
        case KEY_IR_SELECT:
            MENU_EnableMenu(MENU_SUBMENU, OFF);
            MENU_EnableMenu(MENU_MAINMENU, ON);
            bSystemState = SYSTEM_MAIN_MENU;
            break;


        case KEY_UP_DOWN:
            // To clear Sub Menu
            MENU_ClearMenu(MENU_SUBMENU);

            // To disable BLANK COLOR  !
            VP_BlankColor(OFF);

            bSystemState = SYSTEM_BURN_IN_MENU;
            break;

        default:
            break;
    } // switch KEY_BufferOut()
} /* DISPATCH_HueGo */


/* -------------------------------------------------------------------
    Name: DISPATCH_HueMenu -
    Purpose: To adjust HUE of VD.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_HueMenu (void)
{
    #if (MENU_STYLE_CFG == MENU_STYLE_SCROLLING_3)
    // Nothing
    #elif (OSD_CFG == OSD_BIT1611B)
    // ICON of Window 3
    OSD_FillCharAttr(OSD_WINDOW3_BASE + OSD_X_ICON,
                     1,
                     OSD3_COLOR_ICON                );

    // Show Icon
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON,   OSD_Y_ICON, OSD_19_HUE);
    #elif (OSD_CFG == OSD_MTV121)
    // Nothing
    #endif

    // Show Title
    OSD_ShowMsg(OSD_SUBMENU,
                OSD_X_TITLE,
                OSD_Y_TITLE,
                apbMainMenu[ bMenuCurrentItem ]);


    bIdx = (tsEYD.bHue - HUE_MIN) / HUE_STEP;

    // To show Value
    OSD_ShowValue(OSD_SUBMENU,
                  OSD_SUBMENU_WIDTH - OSD_W_VALUE - 1,
                  OSD_Y_VALUE,
                  bIdx,
                  OSD_W_VALUE                           );

    // To display Track Bar
    OSD_DspTrackBar(OSD_SUBMENU,
                    OSD_X_BAR,
                    OSD_Y_BAR,
                    HUE_OSD_MIN,
                    HUE_OSD_MAX,
                    bIdx,
                    OSD_BAR_WIDTH   );

    bSystemState = SYSTEM_HUE_MENU;
} /* DISPATCH_HueMenu */
#endif  // DISPATCH_HUE


#if (DISPATCH_IMAGEFILTER)
/* -------------------------------------------------------------------
    Name: DISPATCH_ImageFilterGo -
    Purpose: To adjust Image Filter of VP.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ImageFilterGo (void)
{
    switch (bKey = KEY_BufferOut())
    {
        case KEY_STILL_POWER:
        case KEY_IR_POWER:
            POR_PowerOff();
            break;

        case KEY_UP:
        case KEY_DOWN:
        case KEY_IR_UP:
        case KEY_IR_DOWN:
            if ((bKey == KEY_DOWN)      ||
                (bKey == KEY_IR_DOWN)      )
            {
                if (tsEGD.bImage_Filter > IMAGE_FILTER_MIN)
                    tsEGD.bImage_Filter -= IMAGE_FILTER_STEP;
            }
            else
            {
                if (tsEGD.bImage_Filter < IMAGE_FILTER_MAX)
                    tsEGD.bImage_Filter += IMAGE_FILTER_STEP;
            }

            // To backup
            EEPROM_TxBurst(EGD_ADDR_IMAGE_FILTER,
                           sizeof(tsEGD.bImage_Filter),
                           (UB8 *)&tsEGD.bImage_Filter  );

            // To adjust VP
            VP_SetImageFilter(tsEGD.bImage_Filter);

            // Show Value
            OSD_ShowValue(OSD_SUBMENU,
                          OSD_SUBMENU_WIDTH - OSD_W_VALUE - 1,
                          OSD_Y_VALUE,
                          tsEGD.bImage_Filter,
                          OSD_W_VALUE                           );

            // To display Bar
            OSD_DspProgressBar(OSD_SUBMENU,
                               OSD_X_BAR,
                               OSD_Y_BAR,
                               IMAGE_FILTER_OSD_MIN,
                               IMAGE_FILTER_OSD_MAX,
                               tsEGD.bImage_Filter,
                               OSD_BAR_WIDTH,
                               OSD_STYLE_CFG                );
            break;


        case KEY_RELEASE_MENU:
        case KEY_IR_MENU:
        case KEY_RELEASE_SELECT:
        case KEY_IR_SELECT:
            MENU_EnableMenu(MENU_SUBMENU, OFF);
            MENU_EnableMenu(MENU_MAINMENU, ON);
            bSystemState = SYSTEM_MAIN_MENU;
            break;


        case KEY_UP_DOWN:
            bSystemState = SYSTEM_RESET_MENU;
            break;

        default:
            break;
    } // switch KEY_BufferOut()
} /* DISPATCH_ImageFilterGo */


/* -------------------------------------------------------------------
    Name: DISPATCH_ImageFilterMenu -
    Purpose: To adjust IMAGE FILTER of VP.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ImageFilterMenu (void)
{
    #if (OSD_CFG == OSD_BIT1611B)

⌨️ 快捷键说明

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