Update to work with latest mBed

Dependencies:   mbed-dev

Fork of FONA_CellPhone by Dream Team

Files at this revision

API Documentation at this revision

Comitter:
George windoge T
Date:
Thu Mar 10 23:17:50 2016 -0500
Parent:
4:b80a906adcdc
Child:
6:15fe38e607ed
Commit message:
GT: beginning to add MENU

Changed in this revision

main_withULCD.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main_withULCD.cpp	Fri Mar 11 03:52:49 2016 +0000
+++ b/main_withULCD.cpp	Thu Mar 10 23:17:50 2016 -0500
@@ -52,6 +52,7 @@
 PinDetect pbUp(p20);
 PinDetect pbMid(p19);
 PinDetect pbDown(p21);
+PinDetect pbBACK(p18);
 
 // Turn on a LED when somebody call the FONA
 DigitalOut led1(LED1); 
@@ -76,17 +77,63 @@
 
 
 
+
+enum TOPMENU {PHONE, SMS, RADIO};
+TOPMENU myTopMenu = PHONE;
+
 DigitalOut led2(LED2);
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 //Button interrupt functions
 void pbUp_hit_callback(void) {
-    led2=!led2;
+    switch(myTopMenu) {
+        case PHONE: {
+            myTopMenu = RADIO;
+            break;
+        }
+        case SMS: {
+            myTopMenu = PHONE;
+            break;
+        }
+        case RADIO: {
+            myTopMenu = SMS;
+            break;
+        }
+    }
 }
 void pbMid_hit_callback(void) {
-    led3=!led3;
+    switch(myTopMenu) {
+        case PHONE: {
+            led2=!led2;
+            break;
+        }
+        case SMS: {
+            led3=!led3;
+            break;
+        }
+        case RADIO: {
+            led4=!led4;
+            break;
+        }
+    }
 }
 void pbDown_hit_callback(void) {
+    switch(myTopMenu) {
+        case PHONE: {
+            myTopMenu = SMS;
+            break;
+        }
+        case SMS: {
+            myTopMenu = RADIO;
+            break;
+        }
+        case RADIO: {
+            myTopMenu = PHONE;
+            break;
+        }
+    }
+}
+void pbBACK_hit_callback(void) {
     led4=!led4;
 }
 
@@ -102,13 +149,16 @@
     pbUp.mode(PullUp);
     pbMid.mode(PullUp);
     pbDown.mode(PullUp);
+    pbBACK.mode(PullUp);
     wait(0.1);
     pbUp.attach_deasserted(&pbUp_hit_callback);
     pbMid.attach_deasserted(&pbMid_hit_callback);
     pbDown.attach_deasserted(&pbDown_hit_callback);
+    pbBACK.attach_deasserted(&pbBACK_hit_callback);
     pbUp.setSampleFrequency(); 
     pbMid.setSampleFrequency();
     pbDown.setSampleFrequency();
+    pbBACK.setSampleFrequency();
 
     //pcSerial.baud(9600);
     wait(1);