📄 dispatch.c
字号:
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 + -