111

Dependencies:   4DGL-uLCD-SE AD5206 mbed-rtos mbed

Fork of 4180_proj by ECE4180proj

Committer:
hanjiex
Date:
Mon Dec 07 18:14:51 2015 +0000
Revision:
12:b6265952fb06
Parent:
11:d21c2da8b290
Child:
13:4cec0e446def
mbed terminal completed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hanjiex 10:159f38636ed4 1 /*
hanjiex 10:159f38636ed4 2 * menu.cpp
hanjiex 11:d21c2da8b290 3 * Author: Hanjie Xie
hanjiex 10:159f38636ed4 4 */
hanjiex 10:159f38636ed4 5
hanjiex 10:159f38636ed4 6 #include "mbed.h"
hanjiex 10:159f38636ed4 7 #include "uLCD_4DGL.h"
hanjiex 10:159f38636ed4 8 #include "menu.h"
hanjiex 10:159f38636ed4 9 #include "para.h"
hanjiex 12:b6265952fb06 10 #include <mpr121.h>
hanjiex 12:b6265952fb06 11
hanjiex 12:b6265952fb06 12 uLCD_4DGL uLCD(p13,p14,p15);
hanjiex 12:b6265952fb06 13 //touch pad declare
hanjiex 12:b6265952fb06 14 InterruptIn interrupt(p26);// Create the interrupt receiver object on pin 26
hanjiex 12:b6265952fb06 15 I2C i2c(p9, p10);// Setup the i2c bus on pins 28 and 27
hanjiex 12:b6265952fb06 16 Mpr121 mpr121(&i2c, Mpr121::ADD_VSS);
hanjiex 12:b6265952fb06 17
hanjiex 12:b6265952fb06 18 // for test use
hanjiex 12:b6265952fb06 19 Serial pc(USBTX, USBRX);
hanjiex 12:b6265952fb06 20 DigitalOut led1(LED1);
hanjiex 12:b6265952fb06 21 DigitalOut led2(LED2);
hanjiex 12:b6265952fb06 22 DigitalOut led3(LED3);
hanjiex 12:b6265952fb06 23 DigitalOut led4(LED4);
hanjiex 12:b6265952fb06 24 /*
hanjiex 10:159f38636ed4 25 DigitalIn left_pb1(p21);
hanjiex 10:159f38636ed4 26 DigitalIn right_pb1(p23);
hanjiex 10:159f38636ed4 27 DigitalIn fire_pb1(p22);
hanjiex 10:159f38636ed4 28 DigitalIn toggle_pb1(p24);
hanjiex 12:b6265952fb06 29 */
hanjiex 10:159f38636ed4 30 int start_enable;
hanjiex 10:159f38636ed4 31 int rules_display;
hanjiex 10:159f38636ed4 32 int dev_display;
hanjiex 10:159f38636ed4 33 int go_to_quit;
hanjiex 10:159f38636ed4 34 // declare the class
hanjiex 10:159f38636ed4 35 para mypara;
hanjiex 10:159f38636ed4 36
hanjiex 12:b6265952fb06 37 int keypress = 100;
hanjiex 12:b6265952fb06 38 bool toggle = 0;
hanjiex 12:b6265952fb06 39 void fallInterrupt() {
hanjiex 12:b6265952fb06 40 int key_code=0;
hanjiex 12:b6265952fb06 41 int i=0;
hanjiex 12:b6265952fb06 42 int value=mpr121.read(0x00);
hanjiex 12:b6265952fb06 43 value +=mpr121.read(0x01)<<8;
hanjiex 12:b6265952fb06 44 // LED demo mod by J. Hamblen
hanjiex 12:b6265952fb06 45 //pc.printf("MPR value: %x \r\n", value);
hanjiex 12:b6265952fb06 46 i=0;
hanjiex 12:b6265952fb06 47 // puts key number out to LEDs for demo
hanjiex 12:b6265952fb06 48 for (i=0; i<12; i++) {
hanjiex 12:b6265952fb06 49 if (((value>>i)&0x01)==1) key_code=i+1;
hanjiex 12:b6265952fb06 50 }
hanjiex 12:b6265952fb06 51 keypress = key_code - 1;
hanjiex 12:b6265952fb06 52 toggle = !toggle;
hanjiex 12:b6265952fb06 53 led4=key_code & 0x01;
hanjiex 12:b6265952fb06 54 led3=(key_code>>1) & 0x01;
hanjiex 12:b6265952fb06 55 led2=(key_code>>2) & 0x01;
hanjiex 12:b6265952fb06 56 led1=(key_code>>3) & 0x01;
hanjiex 12:b6265952fb06 57 }
hanjiex 12:b6265952fb06 58
hanjiex 10:159f38636ed4 59 int begain_first(){
hanjiex 12:b6265952fb06 60 /*
hanjiex 10:159f38636ed4 61 left_pb1.mode(PullUp);
hanjiex 10:159f38636ed4 62 right_pb1.mode(PullUp);
hanjiex 10:159f38636ed4 63 fire_pb1.mode(PullUp);
hanjiex 12:b6265952fb06 64 toggle_pb1.mode(PullUp);*/
hanjiex 12:b6265952fb06 65 interrupt.fall(&fallInterrupt);
hanjiex 12:b6265952fb06 66 interrupt.mode(PullUp);
hanjiex 10:159f38636ed4 67 display_beginning();
hanjiex 10:159f38636ed4 68 while(1){
hanjiex 10:159f38636ed4 69 display_main_menu();
hanjiex 10:159f38636ed4 70 choose();
hanjiex 10:159f38636ed4 71 check();
hanjiex 10:159f38636ed4 72 if(start_enable==1){
hanjiex 10:159f38636ed4 73 break;
hanjiex 10:159f38636ed4 74 }
hanjiex 10:159f38636ed4 75 }
hanjiex 10:159f38636ed4 76 return 1;
hanjiex 10:159f38636ed4 77 }
hanjiex 10:159f38636ed4 78
hanjiex 10:159f38636ed4 79 int return_menu(){
hanjiex 10:159f38636ed4 80 uLCD.cls();
hanjiex 10:159f38636ed4 81 while(1){
hanjiex 10:159f38636ed4 82 display_main_menu();
hanjiex 10:159f38636ed4 83 choose();
hanjiex 10:159f38636ed4 84 check();
hanjiex 10:159f38636ed4 85 if(start_enable==1){
hanjiex 10:159f38636ed4 86 para_setting();
hanjiex 10:159f38636ed4 87 return 1;
hanjiex 10:159f38636ed4 88 }
hanjiex 10:159f38636ed4 89 }
hanjiex 10:159f38636ed4 90 }
hanjiex 10:159f38636ed4 91
hanjiex 10:159f38636ed4 92 void display_beginning(){
hanjiex 10:159f38636ed4 93 uLCD.color(RED);
hanjiex 10:159f38636ed4 94 uLCD.printf("\nWelcome\n"); //Default Green on black text
hanjiex 10:159f38636ed4 95 uLCD.printf("\nTo\n"); //Default Green on black text
hanjiex 10:159f38636ed4 96 uLCD.printf("\nMbed\n");
hanjiex 10:159f38636ed4 97 uLCD.printf("\nFunction Genator!\n");
hanjiex 10:159f38636ed4 98 wait(2);
hanjiex 10:159f38636ed4 99 uLCD.cls();
hanjiex 10:159f38636ed4 100
hanjiex 10:159f38636ed4 101 }
hanjiex 10:159f38636ed4 102
hanjiex 10:159f38636ed4 103 void display_main_menu(){
hanjiex 10:159f38636ed4 104 uLCD.color(GREEN);
hanjiex 12:b6265952fb06 105 uLCD.locate(0,3);
hanjiex 12:b6265952fb06 106 uLCD.printf("\n1. Let's Start!\n");
hanjiex 12:b6265952fb06 107 uLCD.locate(0,5);
hanjiex 12:b6265952fb06 108 uLCD.printf("\n2. How to use?\n");
hanjiex 12:b6265952fb06 109 uLCD.locate(0,7);
hanjiex 12:b6265952fb06 110 uLCD.printf("\n3. Developer\n");
hanjiex 12:b6265952fb06 111 uLCD.locate(0,9);
hanjiex 12:b6265952fb06 112 uLCD.printf("\n4. Quit.\n");
hanjiex 12:b6265952fb06 113 /*uLCD.locate(4,12);
hanjiex 10:159f38636ed4 114 uLCD.printf("\n OK UP DOWN \n");
hanjiex 10:159f38636ed4 115 uLCD.filled_circle(20,100,2,GREEN);
hanjiex 10:159f38636ed4 116 uLCD.filled_circle(50,100,2,GREEN);
hanjiex 10:159f38636ed4 117 uLCD.filled_circle(80,100,2,GREEN);
hanjiex 12:b6265952fb06 118 uLCD.filled_circle(110,100,2,GREEN);*/
hanjiex 10:159f38636ed4 119 wait(1);
hanjiex 10:159f38636ed4 120 }
hanjiex 10:159f38636ed4 121
hanjiex 10:159f38636ed4 122 void choose(){
hanjiex 10:159f38636ed4 123 start_enable = 0;
hanjiex 10:159f38636ed4 124 rules_display = 0;
hanjiex 10:159f38636ed4 125 dev_display = 0;
hanjiex 10:159f38636ed4 126 go_to_quit = 0;
hanjiex 12:b6265952fb06 127 //int circle_y = 35;
hanjiex 12:b6265952fb06 128 //uLCD.filled_circle(10,35,2,BLUE); //51 67 83 +16
hanjiex 10:159f38636ed4 129 int choose = 0;
hanjiex 10:159f38636ed4 130 while(choose == 0){
hanjiex 12:b6265952fb06 131 pc.printf("\nkeypress is: %d\n", keypress);
hanjiex 12:b6265952fb06 132 if (keypress == 1) {
hanjiex 12:b6265952fb06 133 choose = 1;
hanjiex 12:b6265952fb06 134 start_enable = 1;
hanjiex 12:b6265952fb06 135 }
hanjiex 12:b6265952fb06 136 if (keypress == 2) {
hanjiex 12:b6265952fb06 137 choose = 1;
hanjiex 12:b6265952fb06 138 rules_display = 1;
hanjiex 12:b6265952fb06 139 }
hanjiex 12:b6265952fb06 140 if (keypress == 3) {
hanjiex 12:b6265952fb06 141 choose = 1;
hanjiex 12:b6265952fb06 142 dev_display = 1;
hanjiex 12:b6265952fb06 143 }
hanjiex 12:b6265952fb06 144 if (keypress == 4) {
hanjiex 12:b6265952fb06 145 choose = 1;
hanjiex 12:b6265952fb06 146 go_to_quit = 1;
hanjiex 12:b6265952fb06 147 }
hanjiex 12:b6265952fb06 148 /*
hanjiex 12:b6265952fb06 149 if(keypress == 1){
hanjiex 10:159f38636ed4 150 choose = 1;
hanjiex 10:159f38636ed4 151 if(circle_y == 35){
hanjiex 10:159f38636ed4 152 start_enable = 1;
hanjiex 10:159f38636ed4 153 }else if(circle_y == 51){
hanjiex 10:159f38636ed4 154 rules_display = 1;
hanjiex 10:159f38636ed4 155 }else if(circle_y == 67){
hanjiex 10:159f38636ed4 156 dev_display = 1;
hanjiex 10:159f38636ed4 157 }else if(circle_y == 83){
hanjiex 10:159f38636ed4 158 go_to_quit = 1;
hanjiex 10:159f38636ed4 159 }
hanjiex 10:159f38636ed4 160 uLCD.cls();
hanjiex 10:159f38636ed4 161 }
hanjiex 12:b6265952fb06 162 if(keypress == 2){
hanjiex 10:159f38636ed4 163 uLCD.filled_circle(10,circle_y,2,BLACK);
hanjiex 10:159f38636ed4 164 wait(0.2);
hanjiex 10:159f38636ed4 165 if(circle_y > 35){
hanjiex 10:159f38636ed4 166 circle_y = circle_y-16;
hanjiex 10:159f38636ed4 167 }
hanjiex 10:159f38636ed4 168 uLCD.filled_circle(10,circle_y,2,BLUE);
hanjiex 10:159f38636ed4 169 }
hanjiex 12:b6265952fb06 170 if(keypress == 3){
hanjiex 10:159f38636ed4 171 uLCD.filled_circle(10,circle_y,2,BLACK);
hanjiex 10:159f38636ed4 172 wait(0.2);
hanjiex 10:159f38636ed4 173 if(circle_y < 80){
hanjiex 10:159f38636ed4 174 circle_y = circle_y+16;
hanjiex 10:159f38636ed4 175 }
hanjiex 10:159f38636ed4 176 uLCD.filled_circle(10,circle_y,2,BLUE);
hanjiex 12:b6265952fb06 177 }*/
hanjiex 10:159f38636ed4 178 }
hanjiex 10:159f38636ed4 179 }
hanjiex 10:159f38636ed4 180
hanjiex 10:159f38636ed4 181 void check(){
hanjiex 10:159f38636ed4 182 if(rules_display == 1){
hanjiex 12:b6265952fb06 183 uLCD.printf("Follow the instruction on each page");
hanjiex 12:b6265952fb06 184 wait(5);
hanjiex 12:b6265952fb06 185 uLCD.cls();
hanjiex 10:159f38636ed4 186 } else if(dev_display == 1){
hanjiex 12:b6265952fb06 187 uLCD.cls();
hanjiex 10:159f38636ed4 188 uLCD.locate(4,3);
hanjiex 10:159f38636ed4 189 uLCD.printf("\n JIN XUEFEN\n");
hanjiex 10:159f38636ed4 190 uLCD.locate(4,5);
hanjiex 10:159f38636ed4 191 uLCD.printf("\n PENG YUQING\n");
hanjiex 10:159f38636ed4 192 uLCD.locate(4,7);
hanjiex 10:159f38636ed4 193 uLCD.printf("\n TAO QIUYANG\n");
hanjiex 10:159f38636ed4 194 uLCD.locate(4,9);
hanjiex 10:159f38636ed4 195 uLCD.printf("\n XIE HANJIE\n");
hanjiex 10:159f38636ed4 196 wait(5);
hanjiex 10:159f38636ed4 197 uLCD.cls();
hanjiex 10:159f38636ed4 198 } else if(go_to_quit == 1){
hanjiex 10:159f38636ed4 199 uLCD.printf("\nBye\n");
hanjiex 10:159f38636ed4 200 exit(0);
hanjiex 10:159f38636ed4 201 }
hanjiex 10:159f38636ed4 202 }
hanjiex 10:159f38636ed4 203
hanjiex 11:d21c2da8b290 204 para para_setting() {
hanjiex 10:159f38636ed4 205 mode_set();
hanjiex 10:159f38636ed4 206 freq_set();
hanjiex 10:159f38636ed4 207 amp_set();
hanjiex 11:d21c2da8b290 208 //offset_set();
hanjiex 10:159f38636ed4 209 para_display();
hanjiex 11:d21c2da8b290 210 return mypara;
hanjiex 10:159f38636ed4 211 }
hanjiex 10:159f38636ed4 212
hanjiex 10:159f38636ed4 213 void mode_set() {
hanjiex 12:b6265952fb06 214 uLCD.cls();
hanjiex 12:b6265952fb06 215 uLCD.locate(0,1);
hanjiex 12:b6265952fb06 216 uLCD.printf("Select a wave form");
hanjiex 12:b6265952fb06 217 uLCD.color(GREEN);
hanjiex 12:b6265952fb06 218 uLCD.locate(0,3);
hanjiex 12:b6265952fb06 219 uLCD.printf("\n1.Sine wave\n");
hanjiex 12:b6265952fb06 220 uLCD.locate(0,5);
hanjiex 12:b6265952fb06 221 uLCD.printf("\n2.Square wave\n");
hanjiex 12:b6265952fb06 222 uLCD.locate(0,7);
hanjiex 12:b6265952fb06 223 uLCD.printf("\n3.Tringle wave\n");
hanjiex 12:b6265952fb06 224 uLCD.locate(0,12);
hanjiex 12:b6265952fb06 225 uLCD.printf("\nK11:Reset\n");
hanjiex 12:b6265952fb06 226 int choose = 0;
hanjiex 12:b6265952fb06 227 while(choose == 0){
hanjiex 12:b6265952fb06 228 if(keypress == 1){
hanjiex 12:b6265952fb06 229 choose = 1;
hanjiex 12:b6265952fb06 230 mypara.set_type(0);
hanjiex 12:b6265952fb06 231 }
hanjiex 12:b6265952fb06 232 if(keypress == 2){
hanjiex 12:b6265952fb06 233 choose = 1;
hanjiex 12:b6265952fb06 234 mypara.set_type(1);
hanjiex 12:b6265952fb06 235 }
hanjiex 12:b6265952fb06 236 if(keypress == 3){
hanjiex 12:b6265952fb06 237 choose = 1;
hanjiex 12:b6265952fb06 238 mypara.set_type(2);
hanjiex 12:b6265952fb06 239 }
hanjiex 12:b6265952fb06 240 if(keypress == 11){
hanjiex 12:b6265952fb06 241 return_menu();
hanjiex 12:b6265952fb06 242 }
hanjiex 12:b6265952fb06 243 }
hanjiex 12:b6265952fb06 244 /*
hanjiex 10:159f38636ed4 245 int circle_y = 35;
hanjiex 10:159f38636ed4 246 uLCD.filled_circle(10,35,2,BLUE); //51 67 83 +16
hanjiex 10:159f38636ed4 247 int choose = 0;
hanjiex 10:159f38636ed4 248 while(choose == 0){
hanjiex 12:b6265952fb06 249 if(keypress == 1){
hanjiex 10:159f38636ed4 250 choose = 1;
hanjiex 10:159f38636ed4 251 int type = (circle_y - 35) / 16;
hanjiex 10:159f38636ed4 252 mypara.set_type(type);
hanjiex 10:159f38636ed4 253 uLCD.cls();
hanjiex 10:159f38636ed4 254 }
hanjiex 12:b6265952fb06 255 if(keypress == 2){
hanjiex 10:159f38636ed4 256 uLCD.filled_circle(10,circle_y,2,BLACK);
hanjiex 10:159f38636ed4 257 wait(0.2);
hanjiex 10:159f38636ed4 258 if(circle_y > 35){
hanjiex 10:159f38636ed4 259 circle_y = circle_y-16;
hanjiex 10:159f38636ed4 260 }
hanjiex 10:159f38636ed4 261 uLCD.filled_circle(10,circle_y,2,BLUE);
hanjiex 10:159f38636ed4 262 }
hanjiex 12:b6265952fb06 263 if(keypress == 3){
hanjiex 10:159f38636ed4 264 uLCD.filled_circle(10,circle_y,2,BLACK);
hanjiex 10:159f38636ed4 265 wait(0.2);
hanjiex 10:159f38636ed4 266 if(circle_y < 62){
hanjiex 10:159f38636ed4 267 circle_y = circle_y+16;
hanjiex 10:159f38636ed4 268 }
hanjiex 10:159f38636ed4 269 uLCD.filled_circle(10,circle_y,2,BLUE);
hanjiex 10:159f38636ed4 270 }
hanjiex 10:159f38636ed4 271 }
hanjiex 12:b6265952fb06 272 */
hanjiex 10:159f38636ed4 273 }
hanjiex 10:159f38636ed4 274
hanjiex 10:159f38636ed4 275 void freq_set() {
hanjiex 10:159f38636ed4 276 /*
hanjiex 10:159f38636ed4 277 int kilodig;
hanjiex 10:159f38636ed4 278 int hunddig;
hanjiex 10:159f38636ed4 279 int tensdig;
hanjiex 10:159f38636ed4 280 int unit;
hanjiex 10:159f38636ed4 281 uLCD.locate(4,3);
hanjiex 10:159f38636ed4 282 uLCD.printf("\n kilo place:");
hanjiex 10:159f38636ed4 283 uLCD.locate(4,5);
hanjiex 10:159f38636ed4 284 uLCD.printf("\n hundreds place:\n");
hanjiex 10:159f38636ed4 285 uLCD.locate(4,7);
hanjiex 10:159f38636ed4 286 uLCD.printf("\n tens placen:");
hanjiex 10:159f38636ed4 287 uLCD.locate(4,9);
hanjiex 12:b6265952fb06 288 uLCD.printf("\n unit:\n");
hanjiex 10:159f38636ed4 289 */
hanjiex 12:b6265952fb06 290 uLCD.cls();
hanjiex 12:b6265952fb06 291 uLCD.color(GREEN);
hanjiex 10:159f38636ed4 292 int choose = 0;
hanjiex 12:b6265952fb06 293 //float increment = 100;
hanjiex 12:b6265952fb06 294 uLCD.locate(0,0);
hanjiex 10:159f38636ed4 295 uLCD.printf("\nSet the frequency:\n");
hanjiex 12:b6265952fb06 296 uLCD.printf("\nRange from 0-3MHz\n");
hanjiex 12:b6265952fb06 297 uLCD.locate(4,12);
hanjiex 12:b6265952fb06 298 uLCD.printf("\nK10:OK K11:reset");
hanjiex 12:b6265952fb06 299 uLCD.locate(0,7);
hanjiex 12:b6265952fb06 300 uLCD.color(BLUE);
hanjiex 12:b6265952fb06 301 uLCD.printf("\nInput your value: \n");
hanjiex 12:b6265952fb06 302 int temp = 0;
hanjiex 12:b6265952fb06 303 bool tem_tog = toggle;
hanjiex 10:159f38636ed4 304 while(choose == 0){
hanjiex 12:b6265952fb06 305 if (keypress != 100 && tem_tog != toggle && keypress == -1 && keypress != 10) {tem_tog = toggle;}
hanjiex 12:b6265952fb06 306 if (keypress != 100 && tem_tog != toggle && keypress != -1 && keypress != 10){
hanjiex 12:b6265952fb06 307 tem_tog = toggle;
hanjiex 12:b6265952fb06 308 uLCD.printf("%d", keypress);
hanjiex 12:b6265952fb06 309 temp = temp * 10 + keypress;
hanjiex 12:b6265952fb06 310 wait(0.2);
hanjiex 12:b6265952fb06 311 }
hanjiex 12:b6265952fb06 312 if(keypress == 10){
hanjiex 10:159f38636ed4 313 choose = 1;
hanjiex 12:b6265952fb06 314 mypara.set_freq(temp);
hanjiex 10:159f38636ed4 315 }
hanjiex 12:b6265952fb06 316 if(keypress == 11){
hanjiex 12:b6265952fb06 317 return_menu();
hanjiex 12:b6265952fb06 318 }
hanjiex 10:159f38636ed4 319 }
hanjiex 10:159f38636ed4 320 }
hanjiex 10:159f38636ed4 321
hanjiex 10:159f38636ed4 322 void amp_set() {
hanjiex 10:159f38636ed4 323 int choose = 0;
hanjiex 12:b6265952fb06 324 uLCD.cls();
hanjiex 12:b6265952fb06 325 uLCD.color(GREEN);
hanjiex 12:b6265952fb06 326 uLCD.locate(0,0);
hanjiex 10:159f38636ed4 327 uLCD.printf("\nSet the amplitude:\n");
hanjiex 12:b6265952fb06 328 uLCD.locate(0,3);
hanjiex 12:b6265952fb06 329 uLCD.printf("\nRange from 0 - 5v\n");
hanjiex 12:b6265952fb06 330 uLCD.locate(0,12);
hanjiex 12:b6265952fb06 331 uLCD.printf("\nK11:reset");
hanjiex 12:b6265952fb06 332 uLCD.locate(0,7);
hanjiex 12:b6265952fb06 333 uLCD.color(BLUE);
hanjiex 12:b6265952fb06 334 uLCD.printf("\nInput your value: \n");
hanjiex 12:b6265952fb06 335 float temp = 0;
hanjiex 12:b6265952fb06 336 int tem_tog = toggle;
hanjiex 12:b6265952fb06 337 int decpoint = 0;
hanjiex 10:159f38636ed4 338 while(choose == 0){
hanjiex 12:b6265952fb06 339 if (keypress != 100 && tem_tog != toggle && keypress == -1 && keypress != 10) {tem_tog = toggle;}
hanjiex 12:b6265952fb06 340 if (keypress != 100 && tem_tog !=toggle && keypress != -1) {
hanjiex 12:b6265952fb06 341 if(keypress == 11){
hanjiex 12:b6265952fb06 342 return_menu();
hanjiex 12:b6265952fb06 343 }
hanjiex 12:b6265952fb06 344 tem_tog = toggle;
hanjiex 12:b6265952fb06 345 if(decpoint == 0) {
hanjiex 12:b6265952fb06 346 uLCD.printf("%d", keypress);
hanjiex 12:b6265952fb06 347 temp = (float)keypress;
hanjiex 12:b6265952fb06 348 decpoint = 1;
hanjiex 12:b6265952fb06 349 } else {
hanjiex 12:b6265952fb06 350 uLCD.printf(".%d", keypress);
hanjiex 12:b6265952fb06 351 temp = temp + (float)0.1 * keypress;
hanjiex 12:b6265952fb06 352 choose = 1;
hanjiex 12:b6265952fb06 353 mypara.set_amp(temp);
hanjiex 12:b6265952fb06 354 }
hanjiex 12:b6265952fb06 355 wait(0.2);
hanjiex 10:159f38636ed4 356 }
hanjiex 10:159f38636ed4 357 }
hanjiex 10:159f38636ed4 358 }
hanjiex 10:159f38636ed4 359
hanjiex 11:d21c2da8b290 360
hanjiex 10:159f38636ed4 361
hanjiex 10:159f38636ed4 362 void para_display() {
hanjiex 12:b6265952fb06 363 uLCD.cls();
hanjiex 12:b6265952fb06 364 uLCD.color(GREEN);
hanjiex 12:b6265952fb06 365 uLCD.locate(0,0);
hanjiex 12:b6265952fb06 366 switch ( mypara.get_type()){
hanjiex 12:b6265952fb06 367 case 1: uLCD.printf("\n 1.Type: sine\n");break;
hanjiex 12:b6265952fb06 368 case 2: uLCD.printf("\n 1.Type: square\n");break;
hanjiex 12:b6265952fb06 369 case 3: uLCD.printf("\n 1.Type: tringle\n");break;
hanjiex 12:b6265952fb06 370 }
hanjiex 12:b6265952fb06 371 uLCD.locate(0,3);
hanjiex 12:b6265952fb06 372 uLCD.printf("\n 2.Frequency:%d\n", mypara.get_freq());
hanjiex 12:b6265952fb06 373 uLCD.locate(0,6);
hanjiex 12:b6265952fb06 374 uLCD.printf("\n 3.Amplitude:%.1f\n", mypara.get_amp());
hanjiex 12:b6265952fb06 375 uLCD.color(RED);
hanjiex 12:b6265952fb06 376 uLCD.locate(0,8);
hanjiex 12:b6265952fb06 377 uLCD.printf("\n Your wave is out from P29");
hanjiex 12:b6265952fb06 378 uLCD.color(GREEN);
hanjiex 12:b6265952fb06 379 uLCD.locate(0,12);
hanjiex 12:b6265952fb06 380 uLCD.printf("\n K11:Reset");
hanjiex 12:b6265952fb06 381 while (1) {
hanjiex 12:b6265952fb06 382 if(keypress == 11){
hanjiex 12:b6265952fb06 383 return_menu();
hanjiex 12:b6265952fb06 384 }
hanjiex 12:b6265952fb06 385 }
hanjiex 10:159f38636ed4 386 }