menu.h File Reference

Go to the source code of this file.

Data Structures

struct  _ITEM_ENTRY_
struct  _MENU_ENTRY_
struct  MENU_CONTROL

Defines

#define MENU_MAINMENU_ITEM_MAX   5
#define MENU_SYSTEMMENU_ITEM_MAX   5
#define MENU_VIDEOMENU_ITEM_MAX   5
#define MENU_AUDIOMENU_ITEM_MAX   5
#define MENU_CODECMENU_ITEM_MAX   5
#define MENU_MUXMENU_ITEM_MAX   5

Typedefs

typedef struct _ITEM_ENTRY_ ITEM_ENTRY
typedef struct _MENU_ENTRY_ MENU_ENTRY

Enumerations

enum  MENU_MSG_ENUM {
  MENU_MSG_16SPACES, MENU_MSG_1ST_LAYER, MENU_MSG_2ND_LAYER, MENU_MSG_3RD_LAYER,
  MENU_MSG_SYSTEM, MENU_MSG_VIDEO_ENCODER, MENU_MSG_AUDIO_ENCODER, MENU_MSG_HARDWARE_CODEC,
  MENU_MUX_SETTING, MENU_MSG_SYSTEM_ITEM0, MENU_MSG_SYSTEM_ITEM1, MENU_MSG_SYSTEM_ITEM2,
  MENU_MSG_SYSTEM_ITEM3, MENU_MSG_SYSTEM_ITEM4, MENU_MSG_VIDEO_ENCODER_ITEM0, MENU_MSG_VIDEO_ENCODER_ITEM1,
  MENU_MSG_VIDEO_ENCODER_ITEM2, MENU_MSG_VIDEO_ENCODER_ITEM3, MENU_MSG_VIDEO_ENCODER_ITEM4, MENU_MSG_AUDIO_ENCODER_ITEM0,
  MENU_MSG_AUDIO_ENCODER_ITEM1, MENU_MSG_AUDIO_ENCODER_ITEM2, MENU_MSG_AUDIO_ENCODER_ITEM3, MENU_MSG_AUDIO_ENCODER_ITEM4,
  MENU_MSG_HARDWARE_CODEC_ITEM0, MENU_MSG_HARDWARE_CODEC_ITEM1, MENU_MSG_HARDWARE_CODEC_ITEM2, MENU_MSG_HARDWARE_CODEC_ITEM3,
  MENU_MSG_HARDWARE_CODEC_ITEM4, MENU_MUX_SETTING_ITEM0, MENU_MUX_SETTING_ITEM1, MENU_MUX_SETTING_ITEM2,
  MENU_MUX_SETTING_ITEM3, MENU_MUX_SETTING_ITEM4, SYSTEM_MSG_POWER_ON, SYSTEM_MSG_PLEASE_WAIT,
  SYSTEM_MSG_SDCP_CONNECTED, SYSTEM_MSG_SDCP_BOOTUP, SYSTEM_MSG_SDCP_BOOTUP_OK
}

Functions

void MenuInit (void)
void MenuSvc (void)
void MenuKeySet (INT8U KeyValue)
void MenuStop (void)
void MenuStart (void)
void MenuReset (void)
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 MENU_ENTRY MenuMainMenu
const ITEM_ENTRY MenuMainMenuItem [MENU_MAINMENU_ITEM_MAX]
const MENU_ENTRY MenuSytemSubmenu
const ITEM_ENTRY MenuSystemmenuItem [MENU_SYSTEMMENU_ITEM_MAX]
const MENU_ENTRY MenuVideoEncoderSubmenu
const ITEM_ENTRY MenuVideoEncoderMenuItem [MENU_VIDEOMENU_ITEM_MAX]
const MENU_ENTRY MenuAudioEncoderSubmenu
const ITEM_ENTRY MenuAudioEncoderMenuItem [MENU_VIDEOMENU_ITEM_MAX]
const MENU_ENTRY MenuCodecSubmenu
const ITEM_ENTRY MenuCodecMenuItem [MENU_CODECMENU_ITEM_MAX]
const MENU_ENTRY MenuMuxSubmenu
const ITEM_ENTRY MenuMuxMenuItem [MENU_MUXMENU_ITEM_MAX]
const char MsgLineChange []
const INT8UMenuMessage []


Define Documentation

#define MENU_AUDIOMENU_ITEM_MAX   5

Definition at line 7 of file menu.h.

#define MENU_CODECMENU_ITEM_MAX   5

Definition at line 8 of file menu.h.

#define MENU_MAINMENU_ITEM_MAX   5

Definition at line 4 of file menu.h.

#define MENU_MUXMENU_ITEM_MAX   5

Definition at line 9 of file menu.h.

#define MENU_SYSTEMMENU_ITEM_MAX   5

Definition at line 5 of file menu.h.

#define MENU_VIDEOMENU_ITEM_MAX   5

Definition at line 6 of file menu.h.


Typedef Documentation

typedef struct _ITEM_ENTRY_ ITEM_ENTRY

typedef struct _MENU_ENTRY_ MENU_ENTRY


Enumeration Type Documentation

Enumerator:
MENU_MSG_16SPACES 
MENU_MSG_1ST_LAYER 
MENU_MSG_2ND_LAYER 
MENU_MSG_3RD_LAYER 
MENU_MSG_SYSTEM 
MENU_MSG_VIDEO_ENCODER 
MENU_MSG_AUDIO_ENCODER 
MENU_MSG_HARDWARE_CODEC 
MENU_MUX_SETTING 
MENU_MSG_SYSTEM_ITEM0 
MENU_MSG_SYSTEM_ITEM1 
MENU_MSG_SYSTEM_ITEM2 
MENU_MSG_SYSTEM_ITEM3 
MENU_MSG_SYSTEM_ITEM4 
MENU_MSG_VIDEO_ENCODER_ITEM0 
MENU_MSG_VIDEO_ENCODER_ITEM1 
MENU_MSG_VIDEO_ENCODER_ITEM2 
MENU_MSG_VIDEO_ENCODER_ITEM3 
MENU_MSG_VIDEO_ENCODER_ITEM4 
MENU_MSG_AUDIO_ENCODER_ITEM0 
MENU_MSG_AUDIO_ENCODER_ITEM1 
MENU_MSG_AUDIO_ENCODER_ITEM2 
MENU_MSG_AUDIO_ENCODER_ITEM3 
MENU_MSG_AUDIO_ENCODER_ITEM4 
MENU_MSG_HARDWARE_CODEC_ITEM0 
MENU_MSG_HARDWARE_CODEC_ITEM1 
MENU_MSG_HARDWARE_CODEC_ITEM2 
MENU_MSG_HARDWARE_CODEC_ITEM3 
MENU_MSG_HARDWARE_CODEC_ITEM4 
MENU_MUX_SETTING_ITEM0 
MENU_MUX_SETTING_ITEM1 
MENU_MUX_SETTING_ITEM2 
MENU_MUX_SETTING_ITEM3 
MENU_MUX_SETTING_ITEM4 
SYSTEM_MSG_POWER_ON 
SYSTEM_MSG_PLEASE_WAIT 
SYSTEM_MSG_SDCP_CONNECTED 
SYSTEM_MSG_SDCP_BOOTUP 
SYSTEM_MSG_SDCP_BOOTUP_OK 

Definition at line 71 of file menu.h.


Function Documentation

void MenuInit ( void   ) 

Definition at line 21 of file menu.c.

00021                    {
00022     MenuCtrl.pCurMenu=(const MENU_ENTRY *)0;
00023     MenuCtrl.pCurItem=(const ITEM_ENTRY *)0;
00024     MenuCtrl.HasKey=FALSE;
00025     MenuCtrl.Timer=0;
00026     MenuCtrl.State=MenuInitial0State;
00027     //MenuCtrl.State=MenuIdleState;
00028 }

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  ) 

Definition at line 91 of file menu.c.

00091                                {
00092     if(MenuCtrl.HasKey==FALSE){
00093         MenuCtrl.KeyValue=KeyValue;
00094         MenuCtrl.HasKey=TRUE;
00095     }
00096 }

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   ) 

Definition at line 84 of file menu.c.

00084                     {
00085     MenuCtrl.pCurMenu=(const MENU_ENTRY *)0;
00086     MenuCtrl.pCurItem=(const ITEM_ENTRY *)0;
00087     MenuCtrl.HasKey=FALSE;
00088     MenuCtrl.Timer=0;
00089 }

void MenuStart ( void   ) 

Definition at line 80 of file menu.c.

00080                     {
00081     MenuCtrl.State=MenuInitial0State;
00082 }

void MenuStop ( void   ) 

Definition at line 76 of file menu.c.

00076                    {
00077     MenuCtrl.State=MenuIdleState;
00078 }

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 }


Variable Documentation

const ITEM_ENTRY MenuAudioEncoderMenuItem[MENU_VIDEOMENU_ITEM_MAX]

Definition at line 315 of file menu.c.

Definition at line 358 of file menu.c.

const ITEM_ENTRY MenuCodecMenuItem[MENU_CODECMENU_ITEM_MAX]

Definition at line 370 of file menu.c.

Definition at line 413 of file menu.c.

Definition at line 19 of file menu.c.

Definition at line 193 of file menu.c.

const ITEM_ENTRY MenuMainMenuItem[MENU_MAINMENU_ITEM_MAX]

const INT8U* MenuMessage[]

Definition at line 521 of file menu.c.

const ITEM_ENTRY MenuMuxMenuItem[MENU_MUXMENU_ITEM_MAX]

Definition at line 425 of file menu.c.

Definition at line 468 of file menu.c.

const ITEM_ENTRY MenuSystemmenuItem[MENU_SYSTEMMENU_ITEM_MAX]

Definition at line 205 of file menu.c.

Definition at line 248 of file menu.c.

const ITEM_ENTRY MenuVideoEncoderMenuItem[MENU_VIDEOMENU_ITEM_MAX]

Definition at line 260 of file menu.c.

Definition at line 303 of file menu.c.

const char MsgLineChange[]

Definition at line 480 of file menu.c.


Generated on Tue Jul 7 20:39:55 2009 for A SIMPLE APPLICATION FOR PIC18F87J10 by  doxygen 1.5.9