version 1.0

Dependencies:   CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed

Fork of SolarOnFoils_MainModule_20150518 by Dannis Brugman

Revision:
1:b4a0d63db637
Parent:
0:81b21910454e
Child:
2:f6d058931b17
diff -r 81b21910454e -r b4a0d63db637 menu.h
--- a/menu.h	Tue Jun 23 13:55:28 2015 +0000
+++ b/menu.h	Fri Jun 26 09:21:33 2015 +0000
@@ -7,11 +7,15 @@
 //Solar on Foils display screens
 enum SCREEN_t
 {
-    _INIT = 0,           // Initialize screen
-    _STANDBY,            // Standby screen
-    _ACTIVE,             // Active screen
-    _FOILBORNE,          // foilborne screen
-    _FOILASSIST,         // foil assist screen
+    _INIT = 0,              // Initialize screen
+    _STANDBY,               // Standby screen
+    _ACTIVE,                // Active screen
+    _SETTINGS0,             // Settings level 0 screen
+    _SETTINGS1,             // Settings level 1 screen
+    _SETTINGS2,             // Settings level 2 screen
+    _FOILBORNE,             // foilborne screen
+    _FOILASSIST,            // foil assist screen
+    _HOMESCREEN,            // home screen
     _CANINIT,
     _CANFAIL,
     _CANERROR,
@@ -32,10 +36,35 @@
     _PULSE_IS,
     _IMUREADY,
     _IMUFAIL,
-    _ROLLTEST,          // roll test displays roll value
-    _PITCHTEST,         // pitch test displays pitch value
+    _ROLLTEST,              // roll test displays roll value
+    _PITCHTEST,             // pitch test displays pitch value
+    _HEIGHTTEST,
+    _SHOWHEIGHTFB,          // display height value
 
-    _CAUTION             // Caution screen
+    _CAUTION,               // Caution screen
+    _PROGRESS               // development screen
+};
+//////////////////////////////////////////////////////////////////////////////////////
+// MENU_t conform menu structure Functioneel_ontwerp_03_20150609                    //
+//////////////////////////////////////////////////////////////////////////////////////
+enum MENU_t
+{
+    _MENU0_0 = 0,           // Initialize screen
+    _MENU0_1,               // Standby screen
+    _MENU0_2,               // Settings screen
+    _MENU1_2,               // Variable settings screen
+    _MENU0_3,               // Viewsettings screen
+    _MENU1_31,              // View roll angle screen
+    _MENU1_32,              // View pitch angle screen
+    _MENU1_33,              // View height settings screen
+    _MENU1_34,               // View port height measured
+    _MENU0_4,               // Diagnosis screen
+    _MENU1_4,               // Diagnosis menu screen
+    
+    
+    
+    
+    _HOME                   // Back home
 };
 
 class Menu
@@ -45,11 +74,16 @@
                 
         char cTextLine1[18];
         char cTextLine2[18];
+        char cStatus;
         
         SCREEN_t screen;
+        MENU_t menu, nextMenu, prevMenu, confMenu;
         
         uint32_t uiCounter;
                 
+        bool bMenu;     // true item is menu, false item is value
+        bool bConfirm;  // confirm menu or value item 
+        bool bReadHeight;
         bool bError;
         
     public:
@@ -62,13 +96,21 @@
         void init(void);
         // Gets
         char* getLine1(void);
-        char* getLine2(void);     
+        char* getLine2(void); 
+        SCREEN_t getScreen(void); 
+        bool bGetReadHeight(void);   
 
         // Sets
 
         // Other functions
-        void cShowScreen(SCREEN_t);
+        void vShowScreen(SCREEN_t);
+        void vSelectMenu(MENU_t);
+        void vRotaryUp(void);
+        void vRotaryDown(void);
+        void vRotaryConfirm(void);
+        void vFillString1(void);
         void vFillString2(void);
+        void vCheckReadHeight(void);
         
 };
 #endif