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@21:60f01b17b0a6, 2020-05-23 (annotated)
- Committer:
- lukeocarwright
- Date:
- Sat May 23 14:40:40 2020 +0000
- Revision:
- 21:60f01b17b0a6
- Parent:
- 17:358987e9f30e
- Child:
- 22:028f1627c262
Publish to check Documentation;
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 | 21:60f01b17b0a6 | 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 |