version 1.0
Dependencies: CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed
Fork of SolarOnFoils_MainModule_20150518 by
Diff: menu.h
- Revision:
- 2:f6d058931b17
- Parent:
- 1:b4a0d63db637
--- a/menu.h Fri Jun 26 09:21:33 2015 +0000 +++ b/menu.h Tue Aug 11 08:38:55 2015 +0000 @@ -7,15 +7,53 @@ //Solar on Foils display screens enum SCREEN_t { +////////////////////////////////////////////////////////////////////////////////////// +// base screens // +////////////////////////////////////////////////////////////////////////////////////// _INIT = 0, // Initialize screen _STANDBY, // Standby screen _ACTIVE, // Active screen +////////////////////////////////////////////////////////////////////////////////////// +// menulayer 0 settings // +////////////////////////////////////////////////////////////////////////////////////// _SETTINGS0, // Settings level 0 screen _SETTINGS1, // Settings level 1 screen _SETTINGS2, // Settings level 2 screen +////////////////////////////////////////////////////////////////////////////////////// +// menulayer 1 settings // +////////////////////////////////////////////////////////////////////////////////////// + _SYSTEMVAR0, // System variable groep select level 0 screen + _SYSTEMVAR1, // Safety margins level 1 screen + _SYSTEMVAR2, // Safety margins level 2 screen + _SYSTEMVAR3, // Safety margins level 3 screen + _SYSTEMVAR4, // Safety margins level 4 screen +////////////////////////////////////////////////////////////////////////////////////// +// menulayer 2 settings // +////////////////////////////////////////////////////////////////////////////////////// + _SYSTEMVARSELECT0, // Select system variable to change level 0 screen + _SYSTEMVARSELECT1, // Select system variable to change level 1 screen + _SYSTEMVARSELECT2, // Select system variable to change level 2 screen + _SYSTEMVARSELECT3, // Select system variable to change level 3 screen + _SYSTEMVARSELECT4, // Select system variable to change level 4 screen + _SYSTEMVARSELECT5, // Select system variable to change level 5 screen +////////////////////////////////////////////////////////////////////////////////////// +// menulayer 3 settings // +////////////////////////////////////////////////////////////////////////////////////// + _MUTATESYSTEMVAR0, // mutate system variable level 0 screen + _MUTATESYSTEMVAR1, // mutate system variable level 1 screen + _MUTATESYSTEMVAR2, // mutate system variable level 2 screen + _MUTATESYSTEMVAR3, // mutate system variable level 3 screen + _MUTATESYSTEMVAR4, // mutate system variable level 4 screen + _MUTATESYSTEMVAR5, // mutate system variable level 5 screen + _MUTATESYSTEMVAR6, // mutate system variable level 6 screen + _MUTATESYSTEMVAR7, // mutate system variable level 7 screen + _FOILBORNE, // foilborne screen _FOILASSIST, // foil assist screen _HOMESCREEN, // home screen +////////////////////////////////////////////////////////////////////////////////////// +// CAN messages // +////////////////////////////////////////////////////////////////////////////////////// _CANINIT, _CANFAIL, _CANERROR, @@ -33,15 +71,22 @@ _CANID202FAIL, _CANID205FAIL, _CANID1001FAIL, - _PULSE_IS, +////////////////////////////////////////////////////////////////////////////////////// +// IMU messages // +////////////////////////////////////////////////////////////////////////////////////// _IMUREADY, _IMUFAIL, _ROLLTEST, // roll test displays roll value _PITCHTEST, // pitch test displays pitch value _HEIGHTTEST, _SHOWHEIGHTFB, // display height value - + _PULSE_IS, _CAUTION, // Caution screen +////////////////////////////////////////////////////////////////////////////////////// +// multiple used screens // +////////////////////////////////////////////////////////////////////////////////////// + _BACK, // Back screen + _HOME, // Home screen _PROGRESS // development screen }; ////////////////////////////////////////////////////////////////////////////////////// @@ -51,20 +96,40 @@ { _MENU0_0 = 0, // Initialize screen _MENU0_1, // Standby screen + _MENU0_2, // Settings screen - _MENU1_2, // Variable settings screen + _MENU1_20, // Variable settings screen 0 + _MENU1_21, // Variable settings screen 1 + _MENU1_22, // Variable settings screen 2 + _MENU1_23, // Variable settings screen 3 + _MENU1_24, // Variable settings screen 4 + + _MENU2_20, // Variable settings select screen 0 + _MENU2_21, // Variable settings select screen 1 + _MENU2_22, // Variable settings select screen 2 + _MENU2_23, // Variable settings select screen 3 + _MENU2_24, // Variable settings select screen 4 + _MENU2_25, // Variable settings select screen 5 + + _MENU3_20, // Variable settings mutatie screen 0 + _MENU3_21, // Variable settings mutatie screen 1 + _MENU3_22, // Variable settings mutatie screen 2 + _MENU3_23, // Variable settings mutatie screen 3 + _MENU3_24, // Variable settings mutatie screen 4 + _MENU3_25, // Variable settings mutatie screen 5 + _MENU3_26, // Variable settings mutatie screen 6 + _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 + _MENU1_34, // View port height measured + _MENU0_4, // Diagnosis screen _MENU1_4, // Diagnosis menu screen - - - - _HOME // Back home + _BACKBACK, // Back back + _BACKHOME // Back home }; class Menu @@ -77,13 +142,14 @@ char cStatus; SCREEN_t screen; - MENU_t menu, nextMenu, prevMenu, confMenu; + MENU_t menu, nextMenu, prevMenu, confMenu, backToFrom; + VALUE_t valueToChange; uint32_t uiCounter; - bool bMenu; // true item is menu, false item is value - bool bConfirm; // confirm menu or value item - bool bReadHeight; + bool bMenu; // true item is menu, false item is value + bool bConfirm; // confirm menu or value item + bool bReadHeight; // allow writing CAN height module on CANbus bool bError; public: @@ -108,8 +174,8 @@ void vRotaryUp(void); void vRotaryDown(void); void vRotaryConfirm(void); - void vFillString1(void); - void vFillString2(void); + void vFillString1(void); // Fill string1 upto 16 characters + void vFillString2(void); // Fill string2 upto 16 characters void vCheckReadHeight(void); };