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

📄 dispatch.c

📁 Bitek 公司 bit1611b模拟屏驱动芯片外接MCU驱动DEMO源码
💻 C
📖 第 1 页 / 共 5 页
字号:
    OSD_ShowValue(OSD_SUBMENU,
                  OSD_SUBMENU_WIDTH - OSD_W_VALUE - 1,
                  OSD_Y_VALUE,
                  bIdx,
                  OSD_W_VALUE                           );

    // To display Progress Bar
    OSD_DspProgressBar(OSD_SUBMENU,
                       OSD_X_BAR,
                       OSD_Y_BAR,
                       BRIGHTNESS_OSD_MIN,
                       BRIGHTNESS_OSD_MAX,
                       bIdx,
                       OSD_BAR_WIDTH,
                       OSD_STYLE_CFG        );

    bSystemState = SYSTEM_BRIGHTNESS_MENU;
} /* DISPATCH_BrightnessMenu */
#endif // DISPATCH_BRIGHTNESS

#else

#if (DISPATCH_BRIGHTNESS)
/* -------------------------------------------------------------------
    Name: DISPATCH_BrightnessGo -
    Purpose: To adjust VD BRIGHTNESS.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_BrightnessGo (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.bBrightness > BRIGHTNESS_MIN)
                    tsEYD.bBrightness -= BRIGHTNESS_STEP;
            }
            else
            {
                if (tsEYD.bBrightness < BRIGHTNESS_MAX)
                    tsEYD.bBrightness += BRIGHTNESS_STEP;
            }

            // To backup
            EEPROM_TxBurst(EYD_ADDR_BRIGHTNESS,
                           sizeof(tsEYD.bBrightness),
                           (UB8 *)&tsEYD.bBrightness    );

            bIdx = (tsEYD.bBrightness - BRIGHTNESS_MIN) / BRIGHTNESS_STEP;


            // To adjust VD
            YUV_SetBrightness(tsEYD.bBrightness);

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

            // To display Progress Bar
            OSD_DspProgressBar(OSD_SUBMENU,
                               OSD_X_BAR,
                               OSD_Y_BAR,
                               BRIGHTNESS_OSD_MIN,
                               BRIGHTNESS_OSD_MAX,
                               bIdx,
                               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_BrightnessGo */


/* -------------------------------------------------------------------
    Name: DISPATCH_BrightnessMenu -
    Purpose: To show VD BRIGHTNESS Menu.
    Passed: None.
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_BrightnessMenu (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_1B_BRIGHTNESS);
    #elif (OSD_CFG == OSD_MTV121)
    // Show Icon
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON,   OSD_Y_ICON, OSD_CC_BRIGHTNESS_L);
    OSD_ShowChar(OSD_SUBMENU, OSD_X_ICON+1, OSD_Y_ICON, OSD_CD_BRIGHTNESS_R);
    #endif

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

    // VD !
    bIdx = (tsEYD.bBrightness - BRIGHTNESS_MIN) / BRIGHTNESS_STEP;

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

    // To display Progress Bar
    OSD_DspProgressBar(OSD_SUBMENU,
                       OSD_X_BAR,
                       OSD_Y_BAR,
                       BRIGHTNESS_OSD_MIN,
                       BRIGHTNESS_OSD_MAX,
                       bIdx,
                       OSD_BAR_WIDTH,
                       OSD_STYLE_CFG        );

    bSystemState = SYSTEM_BRIGHTNESS_MENU;
} /* DISPATCH_BrightnessMenu */
#endif // DISPATCH_BRIGHTNESS
#endif



#if (PROJECT == DMO04012502)        ||  \
    (PROJECT == DMO04015200)        ||  \
    (PROJECT == DMO04081001)        ||  \
    (PROJECT == DMO04085200)        ||  \
    (PROJECT == DMO04092500)        ||  \
    (PROJECT == DMO04102500)        ||  \
    (PROJECT == DMO06015600)

#if (DISPATCH_CONTRAST)
/* -------------------------------------------------------------------
    Name: DISPATCH_ContrastGo - DMO04015200/DMO04081001//
    Purpose: To adjust VP CONTRAST.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ContrastGo (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.bContrast > CONTRAST_MIN)
                    tsEGD.bContrast -= CONTRAST_STEP;
            }
            else
            {
                if (tsEGD.bContrast < CONTRAST_MAX)
                    tsEGD.bContrast += CONTRAST_STEP;
            }


            // To backup
            EEPROM_TxBurst(EGD_ADDR_CONTRAST,
                           sizeof(tsEGD.bContrast),
                           (UB8 *)&tsEGD.bContrast  );


            bIdx = (tsEGD.bContrast - CONTRAST_MIN) / CONTRAST_STEP;

            // To adjust VP
            VP_SetContrast(tsEGD.bContrast);

            // To 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                );
            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:
            #if (YUV_GO_POOLING)
            fYUV_Go_Pooling = ! fYUV_Go_Pooling;

            if (fYUV_Go_Pooling)
                OSD_ShowChar(OSD_SUBMENU, 0, 0, ' ');
            else
                OSD_ShowChar(OSD_SUBMENU, 0, 0, 'X');
            #else
            bSystemState = SYSTEM_RESET_MENU;
            #endif
            break;

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


/* -------------------------------------------------------------------
    Name: DISPATCH_ContrastMenu - DMO04081001/
    Purpose:
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ContrastMenu (void)
{
    // 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);

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

    // VP !
    bIdx = (tsEGD.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

#else

#if (DISPATCH_CONTRAST)
/* -------------------------------------------------------------------
    Name: DISPATCH_ContrastGo -
    Purpose: To adjust VD CONTRAST.
    Passed:
    Returns: None.
    Notes:
   ------------------------------------------------------------------- */
void DISPATCH_ContrastGo (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.bContrast > CONTRAST_MIN)
                    tsEYD.bContrast -= CONTRAST_STEP;
            }
            else
            {
                if (tsEYD.bContrast < CONTRAST_MAX)
                    tsEYD.bContrast += CONTRAST_STEP;
            }


            // To backup
            EEPROM_TxBurst(EYD_ADDR_CONTRAST,
                           sizeof(tsEYD.bContrast),
                           (UB8 *)&tsEYD.bContrast  );


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

            // To adjust VD
            YUV_SetContrast(tsEYD.bContrast);

            // To 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                );
            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:
            #if (YUV_GO_POOLING)
            fYUV_Go_Pooling = ! fYUV_Go_Pooling;

            if (fYUV_Go_Pooling)
                OSD_ShowChar(OSD_SUBMENU, 0, 0, ' ');
            else
                OSD_ShowChar(OSD_SUBMENU, 0, 0, 'X');
            #else
            bSystemState = SYSTEM_RESET_MENU;
            #endif
            break;

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


/* -------------------------------------------------------------------
    Name: DISPATCH_ContrastMenu -
    Purpose:
    Passed:

⌨️ 快捷键说明

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