#include "includes.h"
Go to the source code of this file.
Defines | |
#define | MenuIdleState 0 |
#define | MenuInitial0State 1 |
#define | MenuInitial1State 2 |
#define | MenuInitial2State 3 |
#define | MenuInitial3State 4 |
#define | MenuNoMenuState 5 |
#define | MenuRunMenuState 6 |
Functions | |
void | MenuInit (void) |
void | MenuSvc (void) |
void | MenuStop (void) |
void | MenuStart (void) |
void | MenuReset (void) |
void | MenuKeySet (INT8U KeyValue) |
void | MenuMenuInit (const struct _MENU_ENTRY_ *pMenu) |
void | MenuItemInit (const struct _ITEM_ENTRY_ *pItem) |
void | MenuItemAct (const struct _ITEM_ENTRY_ *pItem) |
void | MenuOpcodeParser (INT8U KeyValue) |
Variables | |
MENU_CONTROL | MenuCtrl |
const ITEM_ENTRY | MenuMainmenuItem [MENU_MAINMENU_ITEM_MAX] |
const MENU_ENTRY | MenuMainMenu |
const ITEM_ENTRY | MenuSystemmenuItem [MENU_SYSTEMMENU_ITEM_MAX] |
const MENU_ENTRY | MenuSytemSubmenu |
const ITEM_ENTRY | MenuVideoEncoderMenuItem [MENU_VIDEOMENU_ITEM_MAX] |
const MENU_ENTRY | MenuVideoEncoderSubmenu |
const ITEM_ENTRY | MenuAudioEncoderMenuItem [MENU_AUDIOMENU_ITEM_MAX] |
const MENU_ENTRY | MenuAudioEncoderSubmenu |
const ITEM_ENTRY | MenuCodecMenuItem [MENU_CODECMENU_ITEM_MAX] |
const MENU_ENTRY | MenuCodecSubmenu |
const ITEM_ENTRY | MenuMuxMenuItem [MENU_MUXMENU_ITEM_MAX] |
const MENU_ENTRY | MenuMuxSubmenu |
const INT8U | MsgLineChange [] = "\n\r" |
const INT8U | MenuMsg00 [] = " " |
const INT8U | MenuMsg01 [] = "main menu " |
const INT8U | MenuMsg02 [] = "sub menu " |
const INT8U | MenuMsg03 [] = "item menu " |
const INT8U | MenuMsg04 [] = "MAINMENU ITEM 0 " |
const INT8U | MenuMsg05 [] = "MAINMENU ITEM 1 " |
const INT8U | MenuMsg06 [] = "MAINMENU ITEM 2 " |
const INT8U | MenuMsg07 [] = "MAINMENU ITEM 3 " |
const INT8U | MenuMsg08 [] = "MAINMENU ITEM 4 " |
const INT8U | MenuMsg09 [] = "ITEM0 SUBITEM 0 " |
const INT8U | MenuMsg10 [] = "ITEM0 SUBITEM 1 " |
const INT8U | MenuMsg11 [] = "ITEM0 SUBITEM 2 " |
const INT8U | MenuMsg12 [] = "ITEM0 SUBITEM 3 " |
const INT8U | MenuMsg13 [] = "ITEM0 SUBITEM 4 " |
const INT8U | MenuMsg14 [] = "ITEM1 SUBITEM 0 " |
const INT8U | MenuMsg15 [] = "ITEM1 SUBITEM 1 " |
const INT8U | MenuMsg16 [] = "ITEM1 SUBITEM 2 " |
const INT8U | MenuMsg17 [] = "ITEM1 SUBITEM 3 " |
const INT8U | MenuMsg18 [] = "ITEM1 SUBITEM 4 " |
const INT8U | MenuMsg19 [] = "ITEM2 SUBITEM 0 " |
const INT8U | MenuMsg20 [] = "ITEM2 SUBITEM 1 " |
const INT8U | MenuMsg21 [] = "ITEM2 SUBITEM 2 " |
const INT8U | MenuMsg22 [] = "ITEM2 SUBITEM 3 " |
const INT8U | MenuMsg23 [] = "ITEM2 SUBITEM 4 " |
const INT8U | MenuMsg24 [] = "ITEM3 SUBITEM 0 " |
const INT8U | MenuMsg25 [] = "ITEM3 SUBITEM 1 " |
const INT8U | MenuMsg26 [] = "ITEM3 SUBITEM 2 " |
const INT8U | MenuMsg27 [] = "ITEM3 SUBITEM 3 " |
const INT8U | MenuMsg28 [] = "ITEM3 SUBITEM 4 " |
const INT8U | MenuMsg29 [] = "ITEM4 SUBITEM 0 " |
const INT8U | MenuMsg30 [] = "ITEM4 SUBITEM 1 " |
const INT8U | MenuMsg31 [] = "ITEM4 SUBITEM 2 " |
const INT8U | MenuMsg32 [] = "ITEM4 SUBITEM 3 " |
const INT8U | MenuMsg33 [] = "ITEM4 SUBITEM 4 " |
const INT8U | MenuMsg34 [] = "SYSTEM POWER ON " |
const INT8U | MenuMsg35 [] = "PLEASE WAIT... " |
const INT8U | MenuMsg36 [] = "PPPP CONNECTED " |
const INT8U | MenuMsg37 [] = "ON PPPP BOOTUP " |
const INT8U | MenuMsg38 [] = "PPPP BOOTUP OK " |
const INT8U * | MenuMessage [39] |
void MenuInit | ( | void | ) |
void MenuItemAct | ( | const struct _ITEM_ENTRY_ * | pItem | ) |
Definition at line 110 of file menu.c.
00110 { 00111 if(pItem->pValue==(const void *)0) return; 00112 MenuCtrl.pCurMenu=(const struct _MENU_ENTRY_ *)((void *)pItem->pValue); 00113 MenuCtrl.pCurItem=MenuCtrl.pCurMenu->pItemList; 00114 MenuMenuInit(MenuCtrl.pCurMenu); 00115 MenuItemInit(MenuCtrl.pCurItem); 00116 }
void MenuItemInit | ( | const struct _ITEM_ENTRY_ * | pItem | ) |
Definition at line 103 of file menu.c.
00103 { 00104 LcmUpdate(Lcm2ndLineStart,LCM_COMMAND); 00105 //LcmUpdate(MenuMessage[MENU_MSG_16SPACES],LCM_DATA); 00106 LcmUpdate(Lcm2ndLineStart,LCM_COMMAND); 00107 LcmUpdate((INT8U *)MenuMessage[pItem->MsgIndex],LCM_DATA); 00108 }
void MenuKeySet | ( | INT8U | KeyValue | ) |
void MenuMenuInit | ( | const struct _MENU_ENTRY_ * | pMenu | ) |
Definition at line 98 of file menu.c.
00098 { 00099 LcmUpdate(Lcm1stLineStart,LCM_COMMAND); 00100 LcmUpdate((INT8U *)MenuMessage[pMenu->MsgIndex],LCM_DATA); 00101 }
void MenuOpcodeParser | ( | INT8U | KeyValue | ) |
Definition at line 118 of file menu.c.
00118 { 00119 if(KeyValue==KEY_UP){ 00120 if(MenuCtrl.pCurItem->pUpItem==(const ITEM_ENTRY *)0) return; 00121 MenuCtrl.pCurItem=MenuCtrl.pCurItem->pUpItem; 00122 MenuItemInit(MenuCtrl.pCurItem); 00123 } 00124 else if(KeyValue==KEY_DOWN){ 00125 if(MenuCtrl.pCurItem->pDownItem==(const ITEM_ENTRY *)0) return; 00126 MenuCtrl.pCurItem=MenuCtrl.pCurItem->pDownItem; 00127 MenuItemInit(MenuCtrl.pCurItem); 00128 } 00129 else if(KeyValue==KEY_LEFT){ 00130 if(MenuCtrl.pCurMenu->pPrevMenu==(const struct _MENU_ENTRY_ *)0) return; 00131 MenuCtrl.pCurMenu=MenuCtrl.pCurMenu->pPrevMenu; 00132 MenuCtrl.pCurItem=MenuCtrl.pCurMenu->pItemList; 00133 MenuMenuInit(MenuCtrl.pCurMenu); 00134 MenuItemInit(MenuCtrl.pCurItem); 00135 } 00136 else if(KeyValue==KEY_RIGHT){ 00137 if(MenuCtrl.pCurItem->pValue==(const void *)0) return; 00138 MenuCtrl.pCurMenu=(const struct _MENU_ENTRY_ *)MenuCtrl.pCurItem->pValue; 00139 MenuCtrl.pCurItem=MenuCtrl.pCurMenu->pItemList; 00140 MenuMenuInit(MenuCtrl.pCurMenu); 00141 MenuItemInit(MenuCtrl.pCurItem); 00142 } 00143 else if(KeyValue==KEY_ENTER){ 00144 MenuItemAct(MenuCtrl.pCurItem); 00145 } 00146 }
void MenuReset | ( | void | ) |
void MenuStart | ( | void | ) |
void MenuStop | ( | void | ) |
void MenuSvc | ( | void | ) |
Definition at line 30 of file menu.c.
00030 { 00031 switch(MenuCtrl.State){ 00032 case MenuIdleState: 00033 break; 00034 case MenuInitial0State: 00035 if(LcmStateGet()!=0) break; 00036 if(LcmUpdate(LcmInitialCommand0,LCM_COMMAND)==IS_ERROR){ 00037 MenuCtrl.State=MenuIdleState; 00038 break; 00039 } 00040 MenuCtrl.State=MenuInitial1State; 00041 break; 00042 case MenuInitial1State: 00043 if(LcmStateGet()!=0) break; 00044 //if(LcmUpdate(MenuString0,LCM_DATA)==IS_ERROR) break; 00045 MenuReset(); 00046 MenuCtrl.State=MenuInitial2State; 00047 break; 00048 case MenuInitial2State: 00049 //if(LcmStateGet()!=0) break; 00050 MenuCtrl.State=MenuInitial3State; 00051 break; 00052 case MenuInitial3State: 00053 MenuCtrl.pCurMenu=&MenuMainMenu; 00054 MenuCtrl.pCurItem=MenuCtrl.pCurMenu->pItemList; 00055 MenuMenuInit(MenuCtrl.pCurMenu); 00056 MenuItemInit(MenuCtrl.pCurItem); 00057 MenuCtrl.State=MenuRunMenuState; 00058 break; 00059 case MenuNoMenuState: 00060 break; 00061 case MenuRunMenuState: 00062 KeySvc(); // detect key 00063 if(KeyStatusCheck()==TRUE){ 00064 //i=KeyGet(); 00065 //DebugStringPrint("\r\n key code is : "); 00066 //DebugHex2AsciiInt8uPrint(MenuCtrl.KeyValue); 00067 MenuKeySet(KeyGet()); 00068 } 00069 if(MenuCtrl.HasKey==FALSE) break; 00070 MenuCtrl.HasKey=FALSE; 00071 MenuOpcodeParser(MenuCtrl.KeyValue); 00072 break; 00073 } 00074 }
const ITEM_ENTRY MenuAudioEncoderMenuItem[MENU_AUDIOMENU_ITEM_MAX] |
Initial value:
{ (const ITEM_ENTRY *)MenuAudioEncoderMenuItem, (const MENU_ENTRY *)&MenuMainMenu, MenuMenuInit, MenuOpcodeParser, MENU_AUDIOMENU_ITEM_MAX, MENU_MSG_AUDIO_ENCODER, }
const ITEM_ENTRY MenuCodecMenuItem[MENU_CODECMENU_ITEM_MAX] |
const MENU_ENTRY MenuCodecSubmenu |
Initial value:
{ (const ITEM_ENTRY *)MenuCodecMenuItem, (const MENU_ENTRY *)&MenuMainMenu, MenuMenuInit, MenuOpcodeParser, MENU_CODECMENU_ITEM_MAX, MENU_MSG_HARDWARE_CODEC, }
const MENU_ENTRY MenuMainMenu |
Initial value:
const ITEM_ENTRY MenuMainmenuItem[MENU_MAINMENU_ITEM_MAX] |
const INT8U* MenuMessage[39] |
const ITEM_ENTRY MenuMuxMenuItem[MENU_MUXMENU_ITEM_MAX] |
const MENU_ENTRY MenuMuxSubmenu |
Initial value:
{ (const ITEM_ENTRY *)MenuMuxMenuItem, (const MENU_ENTRY *)&MenuMainMenu, MenuMenuInit, MenuOpcodeParser, MENU_MUXMENU_ITEM_MAX, MENU_MUX_SETTING, }
const ITEM_ENTRY MenuSystemmenuItem[MENU_SYSTEMMENU_ITEM_MAX] |
const MENU_ENTRY MenuSytemSubmenu |
Initial value:
{ (const ITEM_ENTRY *)MenuSystemmenuItem, (const MENU_ENTRY *)&MenuMainMenu, MenuMenuInit, MenuOpcodeParser, MENU_SYSTEMMENU_ITEM_MAX, MENU_MSG_SYSTEM, }
const ITEM_ENTRY MenuVideoEncoderMenuItem[MENU_VIDEOMENU_ITEM_MAX] |
Initial value:
{ (const ITEM_ENTRY *)MenuVideoEncoderMenuItem, (const MENU_ENTRY *)&MenuMainMenu, MenuMenuInit, MenuOpcodeParser, MENU_VIDEOMENU_ITEM_MAX, MENU_MSG_VIDEO_ENCODER, }
const INT8U MsgLineChange[] = "\n\r" |