Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Menu/Menu.h@22:028f1627c262, 2020-05-23 (annotated)
- Committer:
- lukeocarwright
- Date:
- Sat May 23 16:12:52 2020 +0000
- Revision:
- 22:028f1627c262
- Parent:
- 21:60f01b17b0a6
- Child:
- 29:207111ffd6e6
Documentation Update
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| lukeocarwright | 8:f305ea78b2b1 | 1 | #ifndef MENU_H | 
| lukeocarwright | 8:f305ea78b2b1 | 2 | #define MENU_H | 
| lukeocarwright | 8:f305ea78b2b1 | 3 | |
| lukeocarwright | 8:f305ea78b2b1 | 4 | #include "mbed.h" | 
| lukeocarwright | 8:f305ea78b2b1 | 5 | #include "N5110.h" | 
| lukeocarwright | 8:f305ea78b2b1 | 6 | #include "Gamepad.h" | 
| lukeocarwright | 8:f305ea78b2b1 | 7 | #include "Front.h" | 
| lukeocarwright | 8:f305ea78b2b1 | 8 | |
| lukeocarwright | 8:f305ea78b2b1 | 9 | /** Menu class | 
| lukeocarwright | 8:f305ea78b2b1 | 10 | * @author Luke Cartwright, University of Leeds | 
| lukeocarwright | 8:f305ea78b2b1 | 11 | * @brief manages all menu selection and movement | 
| lukeocarwright | 8:f305ea78b2b1 | 12 | * @date May 2020 | 
| lukeocarwright | 8:f305ea78b2b1 | 13 | */ | 
| lukeocarwright | 8:f305ea78b2b1 | 14 | |
| lukeocarwright | 8:f305ea78b2b1 | 15 | class Menu | 
| lukeocarwright | 8:f305ea78b2b1 | 16 | { | 
| lukeocarwright | 8:f305ea78b2b1 | 17 | public://----------------------------------------------------------------------- | 
| lukeocarwright | 8:f305ea78b2b1 | 18 | //variables | 
| lukeocarwright | 8:f305ea78b2b1 | 19 | //methods | 
| lukeocarwright | 21:60f01b17b0a6 | 20 | /**constructor */ | 
| lukeocarwright | 8:f305ea78b2b1 | 21 | Menu(); | 
| lukeocarwright | 8:f305ea78b2b1 | 22 | |
| lukeocarwright | 21:60f01b17b0a6 | 23 | /**destructor */ | 
| lukeocarwright | 8:f305ea78b2b1 | 24 | ~Menu(); | 
| lukeocarwright | 8:f305ea78b2b1 | 25 | |
| lukeocarwright | 21:60f01b17b0a6 | 26 | /**runs main menu code | 
| lukeocarwright | 21:60f01b17b0a6 | 27 | * @manages all main menu code and runs continually once called | 
| lukeocarwright | 21:60f01b17b0a6 | 28 | */ | 
| lukeocarwright | 8:f305ea78b2b1 | 29 | void mainmenu(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 8:f305ea78b2b1 | 30 | |
| lukeocarwright | 8:f305ea78b2b1 | 31 | //sub menus | 
| lukeocarwright | 21:60f01b17b0a6 | 32 | /** Waveform submenu function | 
| lukeocarwright | 21:60f01b17b0a6 | 33 | * @Runs Waveform submenu code | 
| lukeocarwright | 21:60f01b17b0a6 | 34 | */ | 
| lukeocarwright | 13:27300c533dd1 | 35 | void subwaveforms(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 36 | |
| lukeocarwright | 21:60f01b17b0a6 | 37 | /** Instructions submenu function | 
| lukeocarwright | 21:60f01b17b0a6 | 38 | * @Runs Instruction submenu code | 
| lukeocarwright | 21:60f01b17b0a6 | 39 | */ | 
| lukeocarwright | 8:f305ea78b2b1 | 40 | void subinstructions(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 41 | |
| lukeocarwright | 21:60f01b17b0a6 | 42 | /** Credits submenu function | 
| lukeocarwright | 21:60f01b17b0a6 | 43 | * @Runs Credits submenu code | 
| lukeocarwright | 21:60f01b17b0a6 | 44 | */ | 
| lukeocarwright | 8:f305ea78b2b1 | 45 | void subcredits(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 46 | |
| lukeocarwright | 21:60f01b17b0a6 | 47 | /** Settings submenu function | 
| lukeocarwright | 21:60f01b17b0a6 | 48 | * @Runs Settings submenu code | 
| lukeocarwright | 21:60f01b17b0a6 | 49 | */ | 
| lukeocarwright | 16:14c231624f3e | 50 | void subsettings(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 51 | |
| lukeocarwright | 21:60f01b17b0a6 | 52 | /** Scrolling function | 
| lukeocarwright | 21:60f01b17b0a6 | 53 | * @Function controlling scrolling in menus | 
| lukeocarwright | 21:60f01b17b0a6 | 54 | * @checks doesnt exceed bounds | 
| lukeocarwright | 21:60f01b17b0a6 | 55 | * @returns int value of menu item selected | 
| lukeocarwright | 21:60f01b17b0a6 | 56 | */ | 
| lukeocarwright | 13:27300c533dd1 | 57 | int scroll(N5110 &lcd, Gamepad &pad, int submenu, int menusize); | 
| lukeocarwright | 21:60f01b17b0a6 | 58 | |
| lukeocarwright | 21:60f01b17b0a6 | 59 | /** Volume adjust function | 
| lukeocarwright | 21:60f01b17b0a6 | 60 | * @Runs Volume adjustment code | 
| lukeocarwright | 21:60f01b17b0a6 | 61 | */ | 
| lukeocarwright | 16:14c231624f3e | 62 | void volumerun(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 63 | |
| lukeocarwright | 21:60f01b17b0a6 | 64 | /** MIDI settings submenu function | 
| lukeocarwright | 21:60f01b17b0a6 | 65 | * @Runs MIDI Settings submenu code | 
| lukeocarwright | 21:60f01b17b0a6 | 66 | */ | 
| lukeocarwright | 16:14c231624f3e | 67 | void MIDIsettings(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 21:60f01b17b0a6 | 68 | |
| lukeocarwright | 21:60f01b17b0a6 | 69 | /** Contrast adjust function | 
| lukeocarwright | 21:60f01b17b0a6 | 70 | * @Runs Contrast adjustment code | 
| lukeocarwright | 21:60f01b17b0a6 | 71 | */ | 
| lukeocarwright | 16:14c231624f3e | 72 | void contrastrun(N5110 &lcd, Gamepad &pad); | 
| lukeocarwright | 8:f305ea78b2b1 | 73 | |
| lukeocarwright | 8:f305ea78b2b1 | 74 | private: //--------------------------------------------------------------------- | 
| lukeocarwright | 21:60f01b17b0a6 | 75 | |
| lukeocarwright | 8:f305ea78b2b1 | 76 | //variables | 
| lukeocarwright | 21:60f01b17b0a6 | 77 | int menuflag; //flag to keep in menu loop | 
| lukeocarwright | 21:60f01b17b0a6 | 78 | int g_selecty; //variable to manage select box y coordinate | 
| lukeocarwright | 21:60f01b17b0a6 | 79 | int submenu; //submenu selected var | 
| lukeocarwright | 21:60f01b17b0a6 | 80 | int menusize; //size of each menu | 
| lukeocarwright | 21:60f01b17b0a6 | 81 | float contrast; //contrast float | 
| lukeocarwright | 21:60f01b17b0a6 | 82 | enum d; //direction | 
| lukeocarwright | 21:60f01b17b0a6 | 83 | int s; //current direction as int | 
| lukeocarwright | 21:60f01b17b0a6 | 84 | int s_1; //previous direction as int | 
| lukeocarwright | 8:f305ea78b2b1 | 85 | |
| lukeocarwright | 8:f305ea78b2b1 | 86 | //Methods | 
| lukeocarwright | 21:60f01b17b0a6 | 87 | /** Prints Main Menu to LCD */ | 
| lukeocarwright | 21:60f01b17b0a6 | 88 | void printmainmenu(N5110 &lcd); | 
| lukeocarwright | 21:60f01b17b0a6 | 89 | |
| lukeocarwright | 21:60f01b17b0a6 | 90 | /** Prints Waveforms Submenu to LCD */ | 
| lukeocarwright | 21:60f01b17b0a6 | 91 | void printsubwaveforms(N5110 &lcd); | 
| lukeocarwright | 21:60f01b17b0a6 | 92 | |
| lukeocarwright | 21:60f01b17b0a6 | 93 | /** Prints Settings Submenu to LCD */ | 
| lukeocarwright | 21:60f01b17b0a6 | 94 | void printsubsettings(N5110 &lcd); | 
| lukeocarwright | 21:60f01b17b0a6 | 95 | |
| lukeocarwright | 21:60f01b17b0a6 | 96 | /** Prints Contrast adjust screen to LCD */ | 
| lukeocarwright | 21:60f01b17b0a6 | 97 | void printcontrast(N5110 &lcd, float contrast); | 
| lukeocarwright | 21:60f01b17b0a6 | 98 | |
| lukeocarwright | 21:60f01b17b0a6 | 99 | /**Prints if submenu par is unavailable */ | 
| lukeocarwright | 8:f305ea78b2b1 | 100 | void subunavailiable(N5110 &lcd); //prints error for sub | 
| lukeocarwright | 21:60f01b17b0a6 | 101 | |
| lukeocarwright | 22:028f1627c262 | 102 | /**Function checks for joystick movement | 
| lukeocarwright | 21:60f01b17b0a6 | 103 | * @returns intiger value of scroll direction | 
| lukeocarwright | 21:60f01b17b0a6 | 104 | */ | 
| lukeocarwright | 8:f305ea78b2b1 | 105 | int scroll_check(Gamepad &pad); | 
| lukeocarwright | 8:f305ea78b2b1 | 106 | }; | 
| lukeocarwright | 8:f305ea78b2b1 | 107 | |
| lukeocarwright | 8:f305ea78b2b1 | 108 | #endif |