
#include "stdint.h"

#ifdef    GLOBALS_MEU_PROCESS
  #define   EXTERN_MEU_PROCESS

#else
  #define   EXTERN_MEU_PROCESS     extern
#endif

#ifndef   MEU_PROCESS_H_
#define   MEU_PROCESS_H_

#define   _MN_IDX_NULL	0xff
#define   _MN_IDX_NULL0	0x00
#define	  _MN_OPR_NULL	(void *)0

typedef enum
{
  //主界面 
  _MN_DSP_LEVEL1MENU_1       = 0,            //0
  _MN_DSP_LEVEL1MENU_2          ,            //1
  _MN_DSP_LEVEL1MENU_3          ,            //2
  _MN_DSP_LEVEL1MENU_4          ,            //3
  _MN_DSP_LEVEL1MENU_5          ,            //4
  _MN_DSP_LEVEL1MENU_6          ,            //5
  //_MN_DSP_LEVEL1MENU_7          ,            //6
  //一级菜单
  _MN_DSP_LEVEL2MENU_1          ,            //6
  _MN_DSP_LEVEL2MENU_2          ,            //7
  _MN_DSP_LEVEL2MENU_3          ,            //8
  _MN_DSP_LEVEL2MENU_4          ,            //9
  _MN_DSP_LEVEL2MENU_5          ,            //10
  _MN_DSP_LEVEL2MENU_6          ,            //11

   //二级菜单
  _MN_DSP_LEVEL2_1_MENU_1       ,            //12
  _MN_DSP_LEVEL2_1_MENU_2       ,            //13
  _MN_DSP_LEVEL2_1_MENU_3       ,            //14
  _MN_DSP_LEVEL2_1_MENU_4       ,            //15
  _MN_DSP_LEVEL2_1_MENU_5       ,
   
  _MN_DSP_LEVEL2_2_MENU_1       ,            //16
  _MN_DSP_LEVEL2_2_MENU_2       ,            //17
  _MN_DSP_LEVEL2_2_MENU_3       ,            //18
  _MN_DSP_LEVEL2_2_MENU_4       ,            //19
  _MN_DSP_LEVEL2_2_MENU_5       ,            //21
  _MN_DSP_LEVEL2_2_MENU_6       ,            //20
  _MN_DSP_LEVEL2_2_MENU_7       ,            //21
  _MN_DSP_LEVEL2_2_MENU_8       ,            //22
  _MN_DSP_LEVEL2_2_MENU_9       ,            //23

  _MN_DSP_LEVEL2_3_MENU_1       ,            //24
  _MN_DSP_LEVEL2_3_MENU_2       ,            //25
  _MN_DSP_LEVEL2_3_MENU_3       ,            //26
  _MN_DSP_LEVEL2_3_MENU_4       ,            //27
  _MN_DSP_LEVEL2_3_MENU_5       ,            //30
  _MN_DSP_LEVEL2_3_MENU_6       ,            //28
  _MN_DSP_LEVEL2_3_MENU_7       ,            //29

  _MN_DSP_LEVEL2_4_MENU_1       ,            //30
  _MN_DSP_LEVEL2_4_MENU_2       ,            //31
  _MN_DSP_LEVEL2_4_MENU_3       ,            //32
  _MN_DSP_LEVEL2_4_MENU_4       ,            //33
  _MN_DSP_LEVEL2_4_MENU_5       ,            //34
  _MN_DSP_LEVEL2_4_MENU_6       ,            //35
  _MN_DSP_LEVEL2_4_MENU_7       ,            //36
  _MN_DSP_LEVEL2_4_MENU_8       ,            //37
  _MN_DSP_LEVEL2_4_MENU_9       ,            //38
   
  //三级菜单
  _MN_DSP_LEVEL3_1_MENU_1       ,            //42
  _MN_DSP_LEVEL3_1_MENU_2       ,            //43
  _MN_DSP_LEVEL3_1_MENU_3       ,            //44
  _MN_DSP_LEVEL3_1_MENU_4       ,            //45
  _MN_DSP_LEVEL3_1_MENU_5       , 
                               
  _MN_DSP_LEVEL3_2_MENU_1       ,            //39
  _MN_DSP_LEVEL3_2_MENU_2       ,            //40
  _MN_DSP_LEVEL3_2_MENU_3       ,            //41
  _MN_DSP_LEVEL3_2_MENU_4       ,            //42
  _MN_DSP_LEVEL3_2_MENU_5       ,            //50
  _MN_DSP_LEVEL3_2_MENU_6       ,            //43
  _MN_DSP_LEVEL3_2_MENU_7       ,            //44
  _MN_DSP_LEVEL3_2_MENU_8       ,            //45
  _MN_DSP_LEVEL3_2_MENU_9       ,            //46
                                              
  _MN_DSP_LEVEL3_3_MENU_1       ,            //47
  _MN_DSP_LEVEL3_3_MENU_2       ,            //48
  _MN_DSP_LEVEL3_3_MENU_3       ,            //49
  _MN_DSP_LEVEL3_3_MENU_4       ,            //50
  _MN_DSP_LEVEL3_3_MENU_5       ,            //59
  _MN_DSP_LEVEL3_3_MENU_6       ,            //51
  _MN_DSP_LEVEL3_3_MENU_7       ,            //52
                               
  _MN_DSP_LEVEL3_4_MENU_11      ,            //53
  _MN_DSP_LEVEL3_4_MENU_12      ,            //54
  _MN_DSP_LEVEL3_4_MENU_21      ,            //55
  _MN_DSP_LEVEL3_4_MENU_22      ,            //56
  _MN_DSP_LEVEL3_4_MENU_3       ,            //57
  _MN_DSP_LEVEL3_4_MENU_41      ,            //58
  _MN_DSP_LEVEL3_4_MENU_42      ,            //59
  _MN_DSP_LEVEL3_4_MENU_43      ,            //60
  _MN_DSP_LEVEL3_4_MENU_44      ,            //61
  _MN_DSP_LEVEL3_4_MENU_45      ,            //62
  _MN_DSP_LEVEL3_4_MENU_51      ,            //63
  _MN_DSP_LEVEL3_4_MENU_52      ,            //64
  _MN_DSP_LEVEL3_4_MENU_6       ,            //65
  _MN_DSP_LEVEL3_4_MENU_7       ,            //66
  _MN_DSP_LEVEL3_4_MENU_8       ,            //67
  _MN_DSP_LEVEL3_4_MENU_9       ,            //68
   
   //四级菜单   
  _MN_DSP_LEVEL4_1_MENU_1       ,            //69
  _MN_DSP_LEVEL4_1_MENU_2       ,            //70
  _MN_DSP_LEVEL4_2_MENU_1       ,            //71
  _MN_DSP_LEVEL4_2_MENU_2       ,            //72                 
  _MN_DSP_LEVEL4_4_MENU_1       ,            //73
  _MN_DSP_LEVEL4_4_MENU_2       ,            //74
  _MN_DSP_LEVEL4_4_MENU_3       ,            //75
  _MN_DSP_LEVEL4_4_MENU_4       ,            //76
  _MN_DSP_LEVEL4_4_MENU_5       ,            //77
  _MN_DSP_LEVEL4_5_MENU_1       ,            //78
  _MN_DSP_LEVEL4_5_MENU_2       ,            //79
  /* 
  _MN_DSP_LEVEL5_4_MENU_1       , 
  _MN_DSP_LEVEL5_4_MENU_2       ,
  _MN_DSP_LEVEL5_4_MENU_3       ,
  _MN_DSP_LEVEL5_4_MENU_4       ,
  _MN_DSP_LEVEL5_4_MENU_5       ,
  */
  //_MN_DSP_HSAENTER_MENU         ,             //80
  _MN_DSP_ENTER_MENU            ,            //81
  _MN_DSP_RETURN_MENU           ,            //82
};

typedef   uint8_t        _MENU_IDX;
typedef struct
{
	_MENU_IDX	VK_IDX_ENTER;
	_MENU_IDX	VK_IDX_UP;
	_MENU_IDX	VK_IDX_DOWN;
	_MENU_IDX	VK_IDX_EXIT;

	void (*Enter)(void);
	void (*Do)(void);
	void (*Exit)(void);
} _MenuOptTab;

typedef union
{
  uint8_t Msg[8];
  struct
  {		
    uint8_t   Menu_Flag               :  8;   //主界面标记                       //7
    uint8_t   Menu_Time_Flag          :  8;   //从Enter界面确认退出记时          //50            
    uint8_t   Menu_Enter_Return       :  8;   //进入Enter之前界面                //91
    uint8_t   Menu_Return             :  8;   //ENTER_RETURN界面切换标记         //1
    uint8_t   Menu_Key_Time           :  8;   //按键长按时间记录                 //20
    //uint8_t   Menu_Key_Static         :  8;   //OFF档是否显示转速时间标记        //MenuFlag.Sig. Menu_Key_Static
       
    uint16_t  Key_Menu_Popup_time     :  15;  //上述状态持续时间    1：100ms     //601
    uint8_t   Key_Menu_Popup_Flag     :  1;   //报警界面menu按键长按             //1
    uint8_t                           :  8;
  } Sig;
} _MenuFlag;

EXTERN_MEU_PROCESS  _MenuFlag    MenuFlag;    

EXTERN_MEU_PROCESS   uint8_t     bMenuSwFlag;
EXTERN_MEU_PROCESS   uint8_t     g_ClearWin1;
EXTERN_MEU_PROCESS   uint8_t     bNextMenuIDX;	          //the next index of menu .
EXTERN_MEU_PROCESS   uint8_t     bCurMenuIDX;		          //the current index of menu.
EXTERN_MEU_PROCESS   uint8_t     bMainMenuIDX;		        //the current index of menu.
EXTERN_MEU_PROCESS   uint8_t     bOldMenuIDX;	    	      //the Old index of menu.

EXTERN_MEU_PROCESS   uint8_t     bMenuFlag;		            //
EXTERN_MEU_PROCESS   uint8_t     KeyTimes;

EXTERN_MEU_PROCESS   uint16_t    KeyRunTime;              //----hyq--20180526 按键运行时间统计
EXTERN_MEU_PROCESS   uint8_t     MenuExitFlag;            //----hyq--20180526 菜单退出标记位

EXTERN_MEU_PROCESS   uint8_t     State_GZM_OLD;           //故障码
EXTERN_MEU_PROCESS   uint8_t     State_WXTX_OLD;          //维修提醒
EXTERN_MEU_PROCESS   uint8_t     State_WXSD_OLD;          //维修设定
EXTERN_MEU_PROCESS   uint8_t     State_YHSD_OLD;          //用户设定
EXTERN_MEU_PROCESS   uint8_t     State_ECO_OLD;           //ECO
EXTERN_MEU_PROCESS   uint8_t     State_OLD;               //

EXTERN_MEU_PROCESS   const       _MenuOptTab	MenuOptTab[]; //add
EXTERN_MEU_PROCESS   void        NextMenu(_MENU_IDX idx);
EXTERN_MEU_PROCESS   void        MenuInit(void);
EXTERN_MEU_PROCESS   void        MenuManage(void);

EXTERN_MEU_PROCESS   void        Level1Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level1Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level1Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level1Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level1Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_5Exit(void);  

EXTERN_MEU_PROCESS   void        Level1Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_6Exit(void); 

EXTERN_MEU_PROCESS   void        Level1Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level1Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level1Menu_7Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level2Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level2Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level2Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level2_1Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level2_1Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level2_1Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level2_1Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level2_1Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level2_1Menu_5Exit(void);

//EXTERN_MEU_PROCESS   void        Level2_1Menu_6Enter(void);
//EXTERN_MEU_PROCESS   void        Level2_1Menu_6Do(void);
//EXTERN_MEU_PROCESS   void        Level2_1Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_7Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_8Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_8Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_8Exit(void);

EXTERN_MEU_PROCESS   void        Level2_2Menu_9Enter(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_9Do(void);
EXTERN_MEU_PROCESS   void        Level2_2Menu_9Exit(void);


EXTERN_MEU_PROCESS   void        Level2_3Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level2_3Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level2_3Menu_7Exit(void);


EXTERN_MEU_PROCESS   void        Level2_4Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_7Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_8Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_8Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_8Exit(void);

EXTERN_MEU_PROCESS   void        Level2_4Menu_9Enter(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_9Do(void);
EXTERN_MEU_PROCESS   void        Level2_4Menu_9Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_1Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_1Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_1Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_2Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_2Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_2Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_3Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_3Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_3Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_4Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_4Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_4Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_5Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_5Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_5Exit(void);

//EXTERN_MEU_PROCESS   void        Level3_1Menu_6Enter(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_6Do(void);
//EXTERN_MEU_PROCESS   void        Level3_1Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_7Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_8Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_8Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_8Exit(void);

EXTERN_MEU_PROCESS   void        Level3_2Menu_9Enter(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_9Do(void);
EXTERN_MEU_PROCESS   void        Level3_2Menu_9Exit(void);


EXTERN_MEU_PROCESS   void        Level3_3Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level3_3Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level3_3Menu_7Exit(void);


EXTERN_MEU_PROCESS   void        Level3_4Menu_1Enter_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_1Do_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_1Exit_1(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_1Enter_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_1Do_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_1Exit_2(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_2Enter_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_2Do_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_2Exit_1(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_2Enter_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_2Do_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_2Exit_2(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_4Enter_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Do_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Exit_1(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_4Enter_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Do_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Exit_2(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_4Enter_3(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Do_3(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Exit_3(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_4Enter_4(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Do_4(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Exit_4(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_4Enter_5(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Do_5(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_4Exit_5(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_5Enter_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_5Do_1(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_5Exit_1(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_5Enter_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_5Do_2(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_5Exit_2(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_6Enter(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_6Do(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_6Exit(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_7Enter(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_7Do(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_7Exit(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_8Enter(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_8Do(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_8Exit(void);

EXTERN_MEU_PROCESS   void        Level3_4Menu_9Enter(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_9Do(void);
EXTERN_MEU_PROCESS   void        Level3_4Menu_9Exit(void);

EXTERN_MEU_PROCESS   void        Level4_1Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level4_1Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level4_1Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level4_1Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level4_1Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level4_1Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level4_2Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level4_2Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level4_2Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level4_2Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level4_2Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level4_2Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level4_4Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level4_4Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level4_4Menu_3Enter(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_3Do(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_3Exit(void);

EXTERN_MEU_PROCESS   void        Level4_4Menu_4Enter(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_4Do(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_4Exit(void);

EXTERN_MEU_PROCESS   void        Level4_4Menu_5Enter(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_5Do(void);
EXTERN_MEU_PROCESS   void        Level4_4Menu_5Exit(void);

EXTERN_MEU_PROCESS   void        Level4_5Menu_1Enter(void);
EXTERN_MEU_PROCESS   void        Level4_5Menu_1Do(void);
EXTERN_MEU_PROCESS   void        Level4_5Menu_1Exit(void);

EXTERN_MEU_PROCESS   void        Level4_5Menu_2Enter(void);
EXTERN_MEU_PROCESS   void        Level4_5Menu_2Do(void);
EXTERN_MEU_PROCESS   void        Level4_5Menu_2Exit(void);

EXTERN_MEU_PROCESS   void        Level_Enter_HMenu_Enter(void);
EXTERN_MEU_PROCESS   void        Level_Enter_HMenu_Do(void);
EXTERN_MEU_PROCESS   void        Level_Enter_HMenu_Exit(void);

EXTERN_MEU_PROCESS   void        Level_Enter_Menu_Enter(void);
EXTERN_MEU_PROCESS   void        Level_Enter_Menu_Do(void);
EXTERN_MEU_PROCESS   void        Level_Enter_Menu_Exit(void);

EXTERN_MEU_PROCESS   void        Level_Return_Menu_Enter(void);
EXTERN_MEU_PROCESS   void        Level_Return_Menu_Do(void);
EXTERN_MEU_PROCESS   void        Level_Return_Menu_Exit(void);

void Menu_Status_Switch(void);

#endif 
