ELEC2645 (2019/20) / Mbed 2 deprecated el18loc_final

Dependencies:   mbed

Committer:
lukeocarwright
Date:
Thu May 21 12:50:43 2020 +0000
Revision:
17:358987e9f30e
Parent:
16:14c231624f3e
Child:
29:207111ffd6e6
Contrast Setting working.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lukeocarwright 8:f305ea78b2b1 1 #include "mbed.h"
lukeocarwright 8:f305ea78b2b1 2 #include "Menu.h"
lukeocarwright 8:f305ea78b2b1 3
lukeocarwright 8:f305ea78b2b1 4 //objects
lukeocarwright 8:f305ea78b2b1 5 Front front;
lukeocarwright 8:f305ea78b2b1 6
lukeocarwright 8:f305ea78b2b1 7 //constructor/destructor
lukeocarwright 8:f305ea78b2b1 8 Menu::Menu()
lukeocarwright 8:f305ea78b2b1 9 {
lukeocarwright 8:f305ea78b2b1 10 }
lukeocarwright 8:f305ea78b2b1 11 Menu::~Menu()
lukeocarwright 8:f305ea78b2b1 12 {
lukeocarwright 8:f305ea78b2b1 13 }
lukeocarwright 8:f305ea78b2b1 14
lukeocarwright 8:f305ea78b2b1 15 // PUBLIC methods---------------------------------------------------------------
lukeocarwright 8:f305ea78b2b1 16 void Menu::mainmenu(N5110 &lcd, Gamepad &pad) //main menu
lukeocarwright 8:f305ea78b2b1 17 {
lukeocarwright 16:14c231624f3e 18 menusize=4;
lukeocarwright 8:f305ea78b2b1 19 g_selecty=10;
lukeocarwright 8:f305ea78b2b1 20 submenu=1; //initialises starting point
lukeocarwright 8:f305ea78b2b1 21 printmainmenu(lcd); //prints menu to display
lukeocarwright 8:f305ea78b2b1 22 int menuflag=1; //sets flag
lukeocarwright 16:14c231624f3e 23 pad.reset_buttons();
lukeocarwright 8:f305ea78b2b1 24 while (menuflag==1) {
lukeocarwright 13:27300c533dd1 25 s=scroll(lcd, pad, submenu, menusize);
lukeocarwright 8:f305ea78b2b1 26 if (s==1) {
lukeocarwright 8:f305ea78b2b1 27 printmainmenu(lcd);
lukeocarwright 13:27300c533dd1 28 submenu++;
lukeocarwright 13:27300c533dd1 29 wait_ms(200);
lukeocarwright 13:27300c533dd1 30 }
lukeocarwright 13:27300c533dd1 31 if (s==-1) {
lukeocarwright 13:27300c533dd1 32 printmainmenu(lcd);
lukeocarwright 13:27300c533dd1 33 submenu--;
lukeocarwright 13:27300c533dd1 34 wait_ms(200);
lukeocarwright 8:f305ea78b2b1 35 }
lukeocarwright 8:f305ea78b2b1 36 if ( pad.A_pressed()) { //selects
lukeocarwright 8:f305ea78b2b1 37 // printf("A pressed\n");
lukeocarwright 8:f305ea78b2b1 38 printf("SubMenu %d selected\n", submenu);
lukeocarwright 8:f305ea78b2b1 39 wait_ms(200); //debounce
lukeocarwright 8:f305ea78b2b1 40 menuflag=0;
lukeocarwright 8:f305ea78b2b1 41 }
lukeocarwright 8:f305ea78b2b1 42 }
lukeocarwright 8:f305ea78b2b1 43 while (1) {
lukeocarwright 8:f305ea78b2b1 44 if (submenu==1) { //waveform submenu launch
lukeocarwright 13:27300c533dd1 45 subwaveforms(lcd, pad);
lukeocarwright 8:f305ea78b2b1 46 break;
lukeocarwright 8:f305ea78b2b1 47 }
lukeocarwright 8:f305ea78b2b1 48 if (submenu==2) { //instructions submenu launch
lukeocarwright 8:f305ea78b2b1 49 subinstructions(lcd,pad);
lukeocarwright 8:f305ea78b2b1 50 break;
lukeocarwright 8:f305ea78b2b1 51 }
lukeocarwright 8:f305ea78b2b1 52 if (submenu==3) { //credits subemnu launch
lukeocarwright 8:f305ea78b2b1 53 subcredits(lcd, pad);
lukeocarwright 8:f305ea78b2b1 54 break;
lukeocarwright 8:f305ea78b2b1 55 }
lukeocarwright 16:14c231624f3e 56 if (submenu==4) { //credits subemnu launch
lukeocarwright 16:14c231624f3e 57 subsettings(lcd, pad);
lukeocarwright 16:14c231624f3e 58 break;
lukeocarwright 16:14c231624f3e 59 }
lukeocarwright 8:f305ea78b2b1 60 }
lukeocarwright 8:f305ea78b2b1 61 }
lukeocarwright 8:f305ea78b2b1 62
lukeocarwright 13:27300c533dd1 63 void Menu::subwaveforms(N5110 &lcd, Gamepad &pad) //waveforms sub
lukeocarwright 8:f305ea78b2b1 64 {
lukeocarwright 8:f305ea78b2b1 65 menusize=3;
lukeocarwright 8:f305ea78b2b1 66 g_selecty=10;
lukeocarwright 8:f305ea78b2b1 67 submenu=1; //initialises starting point
lukeocarwright 16:14c231624f3e 68 int menuflag=1; //resets flag
lukeocarwright 8:f305ea78b2b1 69 printf("Waveforms menu \n");
lukeocarwright 8:f305ea78b2b1 70 lcd.clear(); //clear buffer
lukeocarwright 8:f305ea78b2b1 71 lcd.printString("Waveforms:",3,0);
lukeocarwright 8:f305ea78b2b1 72 printsubwaveforms(lcd);
lukeocarwright 16:14c231624f3e 73 pad.reset_buttons();
lukeocarwright 8:f305ea78b2b1 74 while (menuflag==1) { //looped
lukeocarwright 13:27300c533dd1 75 s=scroll(lcd,pad,submenu,menusize);
lukeocarwright 13:27300c533dd1 76 //printf("S= %d",s);
lukeocarwright 8:f305ea78b2b1 77 if (s==1) {
lukeocarwright 8:f305ea78b2b1 78 printsubwaveforms(lcd);
lukeocarwright 12:7a399a476cfd 79 submenu++;
lukeocarwright 13:27300c533dd1 80 wait_ms(200);
lukeocarwright 8:f305ea78b2b1 81 }
lukeocarwright 12:7a399a476cfd 82 if (s==-1) {
lukeocarwright 12:7a399a476cfd 83 printsubwaveforms(lcd);
lukeocarwright 12:7a399a476cfd 84 submenu--;
lukeocarwright 13:27300c533dd1 85 wait_ms(200);
lukeocarwright 13:27300c533dd1 86 }
lukeocarwright 8:f305ea78b2b1 87 if (pad.A_pressed()) { //go back menu
lukeocarwright 8:f305ea78b2b1 88 // printf("A pressed\n");
lukeocarwright 8:f305ea78b2b1 89 printf("Submenu: %d selected\n", submenu); //debug
lukeocarwright 8:f305ea78b2b1 90 wait_ms(200); //debounce
lukeocarwright 8:f305ea78b2b1 91 menuflag=0; //sets flag
lukeocarwright 8:f305ea78b2b1 92 }
lukeocarwright 8:f305ea78b2b1 93 if (pad.B_pressed()) { //go back menu
lukeocarwright 8:f305ea78b2b1 94 // printf("B pressed\n");
lukeocarwright 8:f305ea78b2b1 95 printf("Main Menu selected\n"); //debug
lukeocarwright 8:f305ea78b2b1 96 submenu=0;
lukeocarwright 8:f305ea78b2b1 97 wait_ms(200); //debounce
lukeocarwright 8:f305ea78b2b1 98 menuflag=0; //sets flag
lukeocarwright 8:f305ea78b2b1 99 }
lukeocarwright 8:f305ea78b2b1 100 }
lukeocarwright 8:f305ea78b2b1 101
lukeocarwright 8:f305ea78b2b1 102 if(submenu==0) { //allows main selected
lukeocarwright 8:f305ea78b2b1 103 mainmenu(lcd,pad);
lukeocarwright 8:f305ea78b2b1 104 }
lukeocarwright 8:f305ea78b2b1 105 if(submenu>=1) { //allows waveform selected
lukeocarwright 8:f305ea78b2b1 106 front.frontrun(lcd,pad,submenu);
lukeocarwright 8:f305ea78b2b1 107 }
lukeocarwright 8:f305ea78b2b1 108 }
lukeocarwright 8:f305ea78b2b1 109
lukeocarwright 8:f305ea78b2b1 110 void Menu::subinstructions(N5110 &lcd, Gamepad &pad) //instruction sub
lukeocarwright 8:f305ea78b2b1 111 {
lukeocarwright 8:f305ea78b2b1 112 menuflag=1; //sets flag
lukeocarwright 8:f305ea78b2b1 113 printf("Instructions menu \n");
lukeocarwright 8:f305ea78b2b1 114 lcd.clear();
lukeocarwright 8:f305ea78b2b1 115 lcd.printString("Instructions:",3,0);
lukeocarwright 8:f305ea78b2b1 116 subunavailiable(lcd); //currently unused
lukeocarwright 16:14c231624f3e 117 pad.reset_buttons();
lukeocarwright 8:f305ea78b2b1 118 while (menuflag==1) {
lukeocarwright 8:f305ea78b2b1 119 if (pad.B_pressed()) {
lukeocarwright 8:f305ea78b2b1 120 // printf("B pressed\n");
lukeocarwright 8:f305ea78b2b1 121 printf("Main Menu selected\n");
lukeocarwright 8:f305ea78b2b1 122 submenu=0;
lukeocarwright 8:f305ea78b2b1 123 wait_ms(200); //debounce
lukeocarwright 8:f305ea78b2b1 124 menuflag=0; //sets flag
lukeocarwright 8:f305ea78b2b1 125 }
lukeocarwright 8:f305ea78b2b1 126 }
lukeocarwright 8:f305ea78b2b1 127 if(submenu==0) { //allows main menu select
lukeocarwright 8:f305ea78b2b1 128 mainmenu(lcd,pad);
lukeocarwright 8:f305ea78b2b1 129 }
lukeocarwright 8:f305ea78b2b1 130 }
lukeocarwright 8:f305ea78b2b1 131
lukeocarwright 8:f305ea78b2b1 132 void Menu::subcredits(N5110 &lcd, Gamepad &pad) //credits sub menu
lukeocarwright 8:f305ea78b2b1 133 {
lukeocarwright 8:f305ea78b2b1 134 printf("Credits \n");
lukeocarwright 8:f305ea78b2b1 135 lcd.clear();
lukeocarwright 8:f305ea78b2b1 136 lcd.printString("Credits",22,0); //prints credits to screen
lukeocarwright 8:f305ea78b2b1 137 lcd.printString("Coded,Produced",0,1);
lukeocarwright 8:f305ea78b2b1 138 lcd.printString("+ Built by",10,2);
lukeocarwright 8:f305ea78b2b1 139 lcd.printString("Luke",30,3);
lukeocarwright 8:f305ea78b2b1 140 lcd.printString("Cartwright",13,4);
lukeocarwright 8:f305ea78b2b1 141 lcd.refresh(); //refresh buffer
lukeocarwright 8:f305ea78b2b1 142 menuflag=1; //sets flag
lukeocarwright 16:14c231624f3e 143 pad.reset_buttons();
lukeocarwright 8:f305ea78b2b1 144 while (menuflag==1) {
lukeocarwright 8:f305ea78b2b1 145 if (pad.B_pressed()) { //go back menu
lukeocarwright 8:f305ea78b2b1 146 // printf("B pressed\n");
lukeocarwright 8:f305ea78b2b1 147 printf("Main Menu selected\n");
lukeocarwright 8:f305ea78b2b1 148 submenu=0;
lukeocarwright 8:f305ea78b2b1 149 wait_ms(200); //debounce
lukeocarwright 8:f305ea78b2b1 150 menuflag=0; //sets flag
lukeocarwright 8:f305ea78b2b1 151 }
lukeocarwright 8:f305ea78b2b1 152 }
lukeocarwright 8:f305ea78b2b1 153 if(submenu==0) { //back to main
lukeocarwright 8:f305ea78b2b1 154 mainmenu(lcd,pad);
lukeocarwright 8:f305ea78b2b1 155 }
lukeocarwright 8:f305ea78b2b1 156 }
lukeocarwright 16:14c231624f3e 157 void Menu::subsettings(N5110 &lcd, Gamepad &pad)
lukeocarwright 16:14c231624f3e 158 {
lukeocarwright 16:14c231624f3e 159 menusize=3;
lukeocarwright 16:14c231624f3e 160 g_selecty=10;
lukeocarwright 16:14c231624f3e 161 submenu=1; //initialises starting point
lukeocarwright 16:14c231624f3e 162 menuflag=1; //resets flag
lukeocarwright 16:14c231624f3e 163 printf("Settings menu \n");
lukeocarwright 16:14c231624f3e 164 lcd.clear(); //clear buffer
lukeocarwright 16:14c231624f3e 165 printsubsettings(lcd);
lukeocarwright 16:14c231624f3e 166 pad.reset_buttons();
lukeocarwright 16:14c231624f3e 167 while (menuflag==1) { //looped
lukeocarwright 16:14c231624f3e 168 s=scroll(lcd,pad,submenu,menusize);
lukeocarwright 16:14c231624f3e 169 //printf("S= %d",s);
lukeocarwright 16:14c231624f3e 170 if (s==1) {
lukeocarwright 16:14c231624f3e 171 printsubsettings(lcd);
lukeocarwright 16:14c231624f3e 172 submenu++;
lukeocarwright 16:14c231624f3e 173 wait_ms(200);
lukeocarwright 16:14c231624f3e 174 }
lukeocarwright 16:14c231624f3e 175 if (s==-1) {
lukeocarwright 16:14c231624f3e 176 printsubsettings(lcd);
lukeocarwright 16:14c231624f3e 177 submenu--;
lukeocarwright 16:14c231624f3e 178 wait_ms(200);
lukeocarwright 16:14c231624f3e 179 }
lukeocarwright 16:14c231624f3e 180 if (pad.A_pressed()) { //go back menu
lukeocarwright 16:14c231624f3e 181 // printf("A pressed\n");
lukeocarwright 16:14c231624f3e 182 printf("Submenu: %d selected\n", submenu); //debug
lukeocarwright 16:14c231624f3e 183 wait_ms(200); //debounce
lukeocarwright 16:14c231624f3e 184 menuflag=0; //sets flag
lukeocarwright 16:14c231624f3e 185 }
lukeocarwright 16:14c231624f3e 186 if (pad.B_pressed()) { //go back menu
lukeocarwright 16:14c231624f3e 187 // printf("B pressed\n");
lukeocarwright 16:14c231624f3e 188 printf("Main Menu selected\n"); //debug
lukeocarwright 16:14c231624f3e 189 submenu=0;
lukeocarwright 16:14c231624f3e 190 wait_ms(200); //debounce
lukeocarwright 16:14c231624f3e 191 menuflag=0; //sets flag
lukeocarwright 16:14c231624f3e 192 }
lukeocarwright 16:14c231624f3e 193 }
lukeocarwright 16:14c231624f3e 194
lukeocarwright 16:14c231624f3e 195 if(submenu==0) { //allows main selected
lukeocarwright 16:14c231624f3e 196 mainmenu(lcd,pad);
lukeocarwright 16:14c231624f3e 197 }
lukeocarwright 16:14c231624f3e 198 if(submenu==1) { //allows volume selected
lukeocarwright 16:14c231624f3e 199 volumerun(lcd,pad);
lukeocarwright 16:14c231624f3e 200 }
lukeocarwright 16:14c231624f3e 201 if(submenu==2) { //allows MIDI selected
lukeocarwright 16:14c231624f3e 202 MIDIsettings(lcd,pad);
lukeocarwright 16:14c231624f3e 203 }
lukeocarwright 16:14c231624f3e 204 if(submenu==3) { //allows contrast selected
lukeocarwright 16:14c231624f3e 205 contrastrun(lcd,pad);
lukeocarwright 16:14c231624f3e 206 }
lukeocarwright 16:14c231624f3e 207 }
lukeocarwright 16:14c231624f3e 208
lukeocarwright 16:14c231624f3e 209 void Menu::volumerun(N5110 &lcd, Gamepad &pad)
lukeocarwright 17:358987e9f30e 210 {
lukeocarwright 16:14c231624f3e 211 menuflag=1; //sets flag
lukeocarwright 16:14c231624f3e 212 printf("Volume Settings \n");
lukeocarwright 16:14c231624f3e 213 lcd.clear();
lukeocarwright 16:14c231624f3e 214 lcd.printString("Volume:",3,0);
lukeocarwright 16:14c231624f3e 215 subunavailiable(lcd); //currently unused
lukeocarwright 16:14c231624f3e 216 pad.reset_buttons();
lukeocarwright 16:14c231624f3e 217 while (menuflag==1) {
lukeocarwright 16:14c231624f3e 218 if (pad.B_pressed()) {
lukeocarwright 16:14c231624f3e 219 // printf("B pressed\n");
lukeocarwright 16:14c231624f3e 220 printf("Main Menu selected\n");
lukeocarwright 16:14c231624f3e 221 submenu=0;
lukeocarwright 16:14c231624f3e 222 wait_ms(200); //debounce
lukeocarwright 16:14c231624f3e 223 menuflag=0; //sets flag
lukeocarwright 16:14c231624f3e 224 }
lukeocarwright 16:14c231624f3e 225 }
lukeocarwright 16:14c231624f3e 226 if(submenu==0) { //allows main menu select
lukeocarwright 16:14c231624f3e 227 subsettings(lcd,pad);
lukeocarwright 16:14c231624f3e 228 }
lukeocarwright 16:14c231624f3e 229 }
lukeocarwright 16:14c231624f3e 230
lukeocarwright 16:14c231624f3e 231 void Menu::MIDIsettings(N5110 &lcd, Gamepad &pad)
lukeocarwright 16:14c231624f3e 232 {
lukeocarwright 16:14c231624f3e 233 menuflag=1; //sets flag
lukeocarwright 16:14c231624f3e 234 printf("MIDI Settings \n");
lukeocarwright 16:14c231624f3e 235 lcd.clear();
lukeocarwright 16:14c231624f3e 236 lcd.printString("MIDI:",3,0);
lukeocarwright 16:14c231624f3e 237 subunavailiable(lcd); //currently unused
lukeocarwright 16:14c231624f3e 238 pad.reset_buttons();
lukeocarwright 16:14c231624f3e 239 while (menuflag==1) {
lukeocarwright 16:14c231624f3e 240 if (pad.B_pressed()) {
lukeocarwright 16:14c231624f3e 241 // printf("B pressed\n");
lukeocarwright 16:14c231624f3e 242 printf("Back Menu\n");
lukeocarwright 16:14c231624f3e 243 submenu=0;
lukeocarwright 16:14c231624f3e 244 wait_ms(200); //debounce
lukeocarwright 16:14c231624f3e 245 menuflag=0; //sets flag
lukeocarwright 16:14c231624f3e 246 }
lukeocarwright 16:14c231624f3e 247 }
lukeocarwright 16:14c231624f3e 248 if(submenu==0) { //allows main menu select
lukeocarwright 16:14c231624f3e 249 subsettings(lcd,pad);
lukeocarwright 16:14c231624f3e 250 }
lukeocarwright 16:14c231624f3e 251 }
lukeocarwright 16:14c231624f3e 252
lukeocarwright 16:14c231624f3e 253 void Menu::contrastrun(N5110 &lcd, Gamepad &pad)
lukeocarwright 16:14c231624f3e 254 {
lukeocarwright 16:14c231624f3e 255 menuflag=1; //sets flag
lukeocarwright 16:14c231624f3e 256 printf("Contrast Settings \n");
lukeocarwright 16:14c231624f3e 257 lcd.clear();
lukeocarwright 16:14c231624f3e 258 lcd.printString("Contrast:",3,0);
lukeocarwright 17:358987e9f30e 259 contrast=0.5;
lukeocarwright 16:14c231624f3e 260 pad.reset_buttons();
lukeocarwright 17:358987e9f30e 261 printcontrast(lcd,contrast);
lukeocarwright 17:358987e9f30e 262 while (menuflag==1) { //looped
lukeocarwright 17:358987e9f30e 263 s=scroll(lcd,pad,10,20);
lukeocarwright 17:358987e9f30e 264 if (s!=s_1) {
lukeocarwright 17:358987e9f30e 265 printf("S= %d",s);
lukeocarwright 17:358987e9f30e 266 if (s==1) {
lukeocarwright 17:358987e9f30e 267 printcontrast(lcd,contrast);
lukeocarwright 17:358987e9f30e 268 contrast=contrast+0.05f;
lukeocarwright 17:358987e9f30e 269 lcd.setContrast(contrast);
lukeocarwright 17:358987e9f30e 270 printf("CONTRAST UP\n");
lukeocarwright 17:358987e9f30e 271 wait_ms(200);
lukeocarwright 17:358987e9f30e 272 }
lukeocarwright 17:358987e9f30e 273 if (s==-1) {
lukeocarwright 17:358987e9f30e 274 printcontrast(lcd,contrast);
lukeocarwright 17:358987e9f30e 275 contrast=contrast-0.05f;
lukeocarwright 17:358987e9f30e 276 lcd.setContrast(contrast);
lukeocarwright 17:358987e9f30e 277 printf("CONTRAST DOWN\n");
lukeocarwright 17:358987e9f30e 278 wait_ms(200);
lukeocarwright 17:358987e9f30e 279 }
lukeocarwright 17:358987e9f30e 280 if (pad.B_pressed()) { //go back menu
lukeocarwright 17:358987e9f30e 281 // printf("B pressed\n");
lukeocarwright 17:358987e9f30e 282 printf("Main Menu selected\n"); //debug
lukeocarwright 17:358987e9f30e 283 submenu=0;
lukeocarwright 17:358987e9f30e 284 lcd.clear();
lukeocarwright 17:358987e9f30e 285 lcd.printString("Contrast Set",12,3);
lukeocarwright 17:358987e9f30e 286 lcd.refresh();
lukeocarwright 17:358987e9f30e 287 wait_ms(500); //debounce + display
lukeocarwright 17:358987e9f30e 288 menuflag=0; //sets flag
lukeocarwright 17:358987e9f30e 289 }
lukeocarwright 16:14c231624f3e 290 }
lukeocarwright 17:358987e9f30e 291 s=s_1;
lukeocarwright 16:14c231624f3e 292 }
lukeocarwright 17:358987e9f30e 293
lukeocarwright 16:14c231624f3e 294 if(submenu==0) { //allows main menu select
lukeocarwright 16:14c231624f3e 295 subsettings(lcd,pad);
lukeocarwright 16:14c231624f3e 296 }
lukeocarwright 16:14c231624f3e 297 }
lukeocarwright 8:f305ea78b2b1 298
lukeocarwright 17:358987e9f30e 299
lukeocarwright 8:f305ea78b2b1 300 //Private Methods--------------------------------------------------------------
lukeocarwright 17:358987e9f30e 301 void Menu::printmainmenu(N5110 &lcd) //prints main menu
lukeocarwright 8:f305ea78b2b1 302 {
lukeocarwright 8:f305ea78b2b1 303 printf("Printing Main Menu \n");
lukeocarwright 8:f305ea78b2b1 304 lcd.clear(); //clears current buffer
lukeocarwright 8:f305ea78b2b1 305 lcd.drawRect(78,g_selecty,5,5,FILL_BLACK); //prints select box at y value
lukeocarwright 8:f305ea78b2b1 306 lcd.printString("MAIN MENU",3,0); //title print
lukeocarwright 8:f305ea78b2b1 307 //SUBMENU TITLES
lukeocarwright 8:f305ea78b2b1 308 lcd.printString("Waveforms",3,1);
lukeocarwright 8:f305ea78b2b1 309 lcd.printString("Instructions",3,2);
lukeocarwright 8:f305ea78b2b1 310 lcd.printString("Credits",3,3);
lukeocarwright 16:14c231624f3e 311 lcd.printString("Settings",3,4);
lukeocarwright 8:f305ea78b2b1 312 lcd.refresh(); //updates display
lukeocarwright 8:f305ea78b2b1 313 }
lukeocarwright 17:358987e9f30e 314 void Menu::printsubwaveforms(N5110 &lcd) //prints subwaveforms menu
lukeocarwright 8:f305ea78b2b1 315 {
lukeocarwright 8:f305ea78b2b1 316 printf("Printing Waveforms menu\n");
lukeocarwright 8:f305ea78b2b1 317 lcd.clear(); //clears current buffer
lukeocarwright 8:f305ea78b2b1 318 lcd.drawRect(78,g_selecty,5,5,FILL_BLACK); //prints select box at y value
lukeocarwright 8:f305ea78b2b1 319 lcd.printString("WAVEFORMS:",3,0); //title print
lukeocarwright 8:f305ea78b2b1 320 //SUBMENU TITLES
lukeocarwright 8:f305ea78b2b1 321 lcd.printString("Sine",3,1);
lukeocarwright 8:f305ea78b2b1 322 lcd.printString("Triangle",3,2);
lukeocarwright 8:f305ea78b2b1 323 lcd.printString("Square",3,3);
lukeocarwright 8:f305ea78b2b1 324 lcd.refresh(); //updates display
lukeocarwright 8:f305ea78b2b1 325 }
lukeocarwright 8:f305ea78b2b1 326
lukeocarwright 17:358987e9f30e 327 void Menu::printsubsettings(N5110 &lcd) //prints settings menu
lukeocarwright 16:14c231624f3e 328 {
lukeocarwright 16:14c231624f3e 329 printf("Printing Settings menu\n");
lukeocarwright 16:14c231624f3e 330 lcd.clear();
lukeocarwright 16:14c231624f3e 331 lcd.drawRect(78,g_selecty,5,5,FILL_BLACK); //prints select box at y value
lukeocarwright 16:14c231624f3e 332 lcd.printString("Settings:",3,0); //title print
lukeocarwright 16:14c231624f3e 333 //SUBMENU TITLES
lukeocarwright 16:14c231624f3e 334 lcd.printString("Volume",3,1);
lukeocarwright 16:14c231624f3e 335 lcd.printString("MIDI",3,2);
lukeocarwright 16:14c231624f3e 336 lcd.printString("Contrast",3,3);
lukeocarwright 16:14c231624f3e 337 lcd.refresh(); //updates display
lukeocarwright 16:14c231624f3e 338 }
lukeocarwright 16:14c231624f3e 339
lukeocarwright 17:358987e9f30e 340 void Menu::printcontrast(N5110 &lcd, float contrast) //prints contrast edit screen
lukeocarwright 17:358987e9f30e 341 {
lukeocarwright 17:358987e9f30e 342 lcd.clear();
lukeocarwright 17:358987e9f30e 343 lcd.printString("Contrast:",3,0);//title print
lukeocarwright 17:358987e9f30e 344 lcd.printString("VISIBILITY",12,3);
lukeocarwright 17:358987e9f30e 345 lcd.refresh();
lukeocarwright 17:358987e9f30e 346 }
lukeocarwright 17:358987e9f30e 347 void Menu::subunavailiable(N5110 &lcd) //for currently undeveloped menu
lukeocarwright 8:f305ea78b2b1 348 {
lukeocarwright 8:f305ea78b2b1 349 printf("sub unavailiable\n");
lukeocarwright 8:f305ea78b2b1 350 lcd.printString("Unavailiable",3,1);
lukeocarwright 8:f305ea78b2b1 351 lcd.refresh();
lukeocarwright 8:f305ea78b2b1 352 }
lukeocarwright 8:f305ea78b2b1 353
lukeocarwright 17:358987e9f30e 354 int Menu::scroll(N5110 &lcd, Gamepad &pad, int submenu, int menusize) //checks srolling
lukeocarwright 8:f305ea78b2b1 355 {
lukeocarwright 8:f305ea78b2b1 356 int d=scroll_check(pad);
lukeocarwright 8:f305ea78b2b1 357 if(d != 0) {
lukeocarwright 13:27300c533dd1 358 if (d==1) { //N scrolls up
lukeocarwright 13:27300c533dd1 359 printf("N \n"); //debug
lukeocarwright 13:27300c533dd1 360 submenu--;
lukeocarwright 13:27300c533dd1 361 g_selecty=g_selecty-8; //line size=8
lukeocarwright 13:27300c533dd1 362 if (submenu<=0) { //3 items in menu stops overflow
lukeocarwright 13:27300c533dd1 363 submenu++;
lukeocarwright 13:27300c533dd1 364 g_selecty = g_selecty+8;
lukeocarwright 13:27300c533dd1 365 return(0);
lukeocarwright 8:f305ea78b2b1 366 }
lukeocarwright 8:f305ea78b2b1 367 //printmainmenu(lcd); //reprints main
lukeocarwright 13:27300c533dd1 368 printf("SubMenu= %d\n", submenu); //debug
lukeocarwright 12:7a399a476cfd 369 return(-1);
lukeocarwright 8:f305ea78b2b1 370 }
lukeocarwright 13:27300c533dd1 371 if (d==5) { //S scrolls down
lukeocarwright 13:27300c533dd1 372 printf("S \n");
lukeocarwright 13:27300c533dd1 373 submenu++;
lukeocarwright 13:27300c533dd1 374 g_selecty=g_selecty+8;
lukeocarwright 13:27300c533dd1 375 if (submenu >menusize) { //stops overflow
lukeocarwright 13:27300c533dd1 376 submenu--;
lukeocarwright 13:27300c533dd1 377 g_selecty = g_selecty-8;
lukeocarwright 13:27300c533dd1 378 return(0);
lukeocarwright 8:f305ea78b2b1 379 }
lukeocarwright 8:f305ea78b2b1 380 //printmainmenu(lcd); //reprints menu
lukeocarwright 13:27300c533dd1 381 printf("SubMenu= %d\n", submenu); //debug
lukeocarwright 12:7a399a476cfd 382 return(1);
lukeocarwright 8:f305ea78b2b1 383 }
lukeocarwright 8:f305ea78b2b1 384 wait_ms(200); //debounce
lukeocarwright 12:7a399a476cfd 385
lukeocarwright 14:9cfe0041cc4e 386 }
lukeocarwright 13:27300c533dd1 387 return(0);
lukeocarwright 8:f305ea78b2b1 388 }
lukeocarwright 13:27300c533dd1 389
lukeocarwright 8:f305ea78b2b1 390 int Menu::scroll_check (Gamepad &pad)
lukeocarwright 8:f305ea78b2b1 391 {
lukeocarwright 8:f305ea78b2b1 392 return(pad.get_direction()); //checks for stick
lukeocarwright 8:f305ea78b2b1 393 }