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:
Fri Mar 11 02:40:06 2016 -0500
Parent:
6:15fe38e607ed
Child:
8:3bb66cdfabac
Commit message:
GT: Added menu functionality up to radio

Changed in this revision

main_withULCD.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main_withULCD.cpp	Thu Mar 10 23:52:21 2016 -0500
+++ b/main_withULCD.cpp	Fri Mar 11 02:40:06 2016 -0500
@@ -80,58 +80,149 @@
 
 
 
-enum TOPMENU {PHONE, SMS, RADIO};
+enum TOPMENU {PHONE, SMS, RADIO, radio_TUNE, radio_OFF, radio_VOLUME,  EXECUTE_TUNE, EXECUTE_radio_OFF};
 TOPMENU myTopMenu = PHONE;
 
+
+bool printFirst = true;
+bool blockInterrupts = false;
+
 DigitalOut led2(LED2);
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 //Button interrupt functions
 void pbUp_hit_callback(void) {
-    switch(myTopMenu) {
-        case PHONE: {
-            myTopMenu = RADIO;
-            break;
-        }
-        case SMS: {
-            myTopMenu = PHONE;
-            break;
-        }
-        case RADIO: {
-            myTopMenu = SMS;
-            break;
+    if (!blockInterrupts){
+        printFirst = true;
+        switch(myTopMenu) {
+            case PHONE: {
+                myTopMenu = RADIO;
+                uLCD.cls();
+                //printTopLine();
+                uLCD.locate(0,3);
+                uLCD.printf("RADIO");
+                break;
+            }
+            case SMS: {
+                myTopMenu = PHONE;
+                uLCD.cls();
+                //printTopLine();
+                uLCD.locate(0,3);
+                uLCD.printf("PHONE");
+                break;
+            }
+            case RADIO: {
+                myTopMenu = SMS;
+                uLCD.cls();
+                //printTopLine();
+                uLCD.locate(0,3);
+                uLCD.printf("SMS");
+                break;
+            }
+            case radio_TUNE: {
+                myTopMenu = radio_VOLUME;
+                //uLCD.cls();
+                //printTopLine();
+                //uLCD.locate(0,3);
+                //uLCD.printf("RADIO\n->VOLUME");
+                break;
+            }
+            case radio_OFF: {
+                myTopMenu = radio_TUNE;
+                //uLCD.cls();
+                //printTopLine();
+                //uLCD.locate(0,3);
+                //uLCD.printf("RADIO\n->TUNE");
+                break;
+            }
+            case radio_VOLUME: {
+                myTopMenu = radio_OFF;
+                //uLCD.cls();
+                //printTopLine();
+                //uLCD.locate(0,3);
+                //uLCD.printf("RADIO\n->OFF");
+                break;
+            }
         }
     }
 }
 void pbMid_hit_callback(void) {
-    switch(myTopMenu) {
-        case PHONE: {
-            led2=!led2;
-            break;
-        }
-        case SMS: {
-            led3=!led3;
-            break;
-        }
-        case RADIO: {
-            led4=!led4;
-            break;
+    if (!blockInterrupts){
+        printFirst = true;
+        switch(myTopMenu) {
+            case PHONE: {
+                led2=!led2;
+                break;
+            }
+            case SMS: {
+                led3=!led3;
+                break;
+            }
+            case RADIO: 
+                myTopMenu = radio_TUNE;
+                break;
+                //led4=!led4;
+            }
+            case radio_TUNE: {
+                uLCD.cls();
+                //printTopLine()
+                myTopMenu = EXECUTE_TUNE;
+                break;
+                //led4=!led4;
+            }
+            case radio_OFF: {
+                uLCD.cls();
+                //printTopLine();
+                myTopMenu = EXECUTE_radio_OFF;
+                break;
+                //led4=!led4;
+            }
         }
     }
 }
 void pbDown_hit_callback(void) {
-    switch(myTopMenu) {
-        case PHONE: {
-            myTopMenu = SMS;
-            break;
-        }
-        case SMS: {
-            myTopMenu = RADIO;
-            break;
-        }
-        case RADIO: {
-            myTopMenu = PHONE;
-            break;
+    if (!blockInterrupts){
+        printFirst = true;
+        switch(myTopMenu) {
+            case PHONE: {
+                myTopMenu = SMS;
+                uLCD.cls();
+                uLCD.locate(0,3);
+                uLCD.printf("SMS");
+                break;
+            }
+            case SMS: {
+                myTopMenu = RADIO;
+                uLCD.cls();
+                uLCD.locate(0,3);
+                uLCD.printf("RADIO");
+                break;
+            }
+            case RADIO: {
+                myTopMenu = PHONE;
+                uLCD.cls();
+                uLCD.locate(0,3);
+                uLCD.printf("PHONE");
+                break;
+            }
+            case radio_TUNE: {
+                myTopMenu = radio_OFF;
+                //uLCD.cls();
+                //printTopLine();
+                break;
+            }
+            case radio_OFF: {
+                myTopMenu = radio_VOLUME;
+                //uLCD.cls();
+                //printTopLine();
+                break;
+            }
+            case radio_VOLUME: {
+                myTopMenu = radio_TUNE;
+                //uLCD.cls();
+                //printTopLine();
+                break;
+            }
         }
     }
 }
@@ -152,7 +243,7 @@
     pbMid.mode(PullUp);
     pbDown.mode(PullUp);
     pbBACK.mode(PullUp);
-    wait(0.1);
+    wait(.5);
     pbUp.attach_deasserted(&pbUp_hit_callback);
     pbMid.attach_deasserted(&pbMid_hit_callback);
     pbDown.attach_deasserted(&pbDown_hit_callback);
@@ -208,208 +299,70 @@
         uLCD.printf("NA\r\n");
     }
 
+    uLCD.cls();
     printTopLine();
     
-
+    
     while (true) {
         switch(myTopMenu){
             case PHONE: {
-                uLCD.cls();
-                printTopLine();
-                uLCD.locate(3,1);
-                uLCD.printf("PHONE");
+                if (printFirst){
+                    printTopLine();
+                    printFirst = false;
+                }
                 break;
             }
             case SMS:{
-                uLCD.cls();
-                printTopLine();
-                uLCD.locate(3,1);
-                uLCD.printf("SMS");
+                if (printFirst){
+                    printTopLine();
+                    printFirst = false;
+                }
                 break;
             }
             case RADIO: {
-                uLCD.cls();
-                printTopLine();
-                uLCD.locate(3,1);
-                uLCD.printf("RADIO");
-                break;
-            }
-
-
-        }
-    }
-
-
-
-
-    /*
-    while (true) {
-        pcSerial.printf("FONA> ");
-        // if nothing is available on the pcSearial port but there is something on the fona serial, then print it (flush it) to the pc Serial
-        while (! pcSerial.readable() ) {
-            if (fona.readable()) {
-                pcSerial.putc(fona.getc());
-            }
-        }
-        
-        // get the input command from the terminal
-        char command = pcSerial.getc();
-        pcSerial.printf("%c\r\n", command); //loops back to COM port
-        
-        
-        switch (command) {
-            case '?': {
-                printMenu();
-                break;
-            }
-            
-            case 'a': {
-                // read the ADC
-                uint16_t adc;
-                if (! fona.getADCVoltage(&adc)) {
-                    pcSerial.printf("Failed to read ADC\r\n");
-                } else {
-                    pcSerial.printf("ADC = %d mV\r\n", adc);
+                if (printFirst){
+                    printTopLine();
+                    printFirst = false;
                 }
                 break;
             }
-            
-            case 'b': {
-                // read the battery voltage and percentage
-                uint16_t vbat;
-                if (! fona.getBattVoltage(&vbat)) {
-                    pcSerial.printf("Failed to read Batt\r\n");
-                } else {
-                    pcSerial.printf("VBat = %d mV\r\n", vbat);
-                }
-                
-                if (! fona.getBattPercent(&vbat)) {
-                    pcSerial.printf("Failed to read Batt\r\n");
-                } else {
-                    pcSerial.printf("VPct = %d%%\r\n", vbat);
-                }
-                
-                break;
-            }
-            
-            case 'U': {
-                // Unlock the SIM with a PIN code
-                char PIN[5];
-                flushSerial();
-                pcSerial.printf("Enter 4-digit PIN\r\n");
-                readline(PIN, 3);
-                pcSerial.printf("%s\r\n", PIN);
-                pcSerial.printf("Unlocking SIM card: ");
-                if (! fona.unlockSIM(PIN)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }        
-                break;
-            }
-            
-            case 'C': {
-                // read the CCID
-                fona.getSIMCCID(replybuffer);  // make sure replybuffer is at least 21 bytes!
-                pcSerial.printf("SIM CCID = %s\r\n", replybuffer);
-                break;
-            }
-            
-            case 'i': {
-                // read the RSSI
-                uint8_t n = fona.getRSSI();
-                int8_t r = 0;
-                
-                pcSerial.printf("RSSI = %d: ", n);
-                if (n == 0) r = -115;
-                if (n == 1) r = -111;
-                if (n == 31) r = -52;
-                if ((n >= 2) && (n <= 30)) {
-                    r = map(n, 2, 30, -110, -54);
-                }
-                pcSerial.printf("%d dBm\r\n", r);
-                
-                break;
-            }
-            
-            case 'n': {
-                // read the network/cellular status
-                uint8_t n = fona.getNetworkStatus();
-                pcSerial.printf("Network status %d: ", n);
-                if (n == 0) pcSerial.printf("Not registered\r\n");
-                if (n == 1) pcSerial.printf("Registered (home)\r\n");
-                if (n == 2) pcSerial.printf("Not registered (searching)\r\n");
-                if (n == 3) pcSerial.printf("Denied\r\n");
-                if (n == 4) pcSerial.printf("Unknown\r\n");
-                if (n == 5) pcSerial.printf("Registered roaming\r\n");
-                break;
-            }
-            
-            /*** Audio ***/
-            /*
-            case 'v': {
-                // set volume
-                flushSerial();
-                pcSerial.printf("Set Vol %%");
-                uint8_t vol = readnumber();
-                pcSerial.printf("\r\n");
-                if (! fona.setVolume(vol)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
+            case radio_TUNE: {
+                if (printFirst){
+                    uLCD.cls();
+                    printTopLine();
+                    uLCD.locate(0,3);
+                    uLCD.printf("RADIO\n->TUNE");
+                    printFirst = false;
+                    wait(.5);
                 }
                 break;
             }
-            
-            case 'V': {
-                uint8_t v = fona.getVolume();
-                pcSerial.printf("%d%%\r\n", v);
-                
-                break; 
-            }
-            
-            case 'H': {
-                // Set Headphone output
-                if (! fona.setAudio(FONA_HEADSETAUDIO)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                fona.setMicVolume(FONA_HEADSETAUDIO, 15);
-                break;
-            }
-            case 'e': {
-                // Set External output
-                if (! fona.setAudio(FONA_EXTAUDIO)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                
-                fona.setMicVolume(FONA_EXTAUDIO, 10);
-                break;
-            }
-            
-            case 'T': {
-                // play tone
-                flushSerial();
-                pcSerial.printf("Play tone #");
-                uint8_t kittone = readnumber();
-                pcSerial.printf("\r\n");
-                // play for 1 second (1000 ms)
-                if (! fona.playToolkitTone(kittone, 1000)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
+            case radio_OFF: {
+                if (printFirst){
+                    uLCD.cls();
+                    printTopLine();
+                    uLCD.locate(0,3);
+                    uLCD.printf("RADIO\n->OFF");
+                    printFirst = false;
                 }
                 break;
             }
-            
-            /*** FM Radio ***/
-            /*
-            case 'f': {
+            case radio_VOLUME: {
+                if (printFirst){
+                    uLCD.cls();
+                    printTopLine();
+                    uLCD.locate(0,3);
+                    uLCD.printf("RADIO\n->VOLUME");
+                    printFirst = false;
+                }
+                break;
+            }
+            case EXECUTE_TUNE: {
+                blockInterrupts = true;
+                uLCD.cls();
                 // get freq
                 flushSerial();
+                uLCD.printf("COMPUTER PORT->");
                 pcSerial.printf("FM Freq (eg 1011 == 101.1 MHz): ");
                 uint16_t station = readnumber();
                 pcSerial.printf("\r\n");
@@ -422,413 +375,56 @@
                 } else {
                     pcSerial.printf("Tuned\r\n");
                 }
-                break;
-            }
-            case 'F': {
-                // FM radio off
-                if (! fona.FMradio(false)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                break;
-            }
-            case 'm': {
-                // Set FM volume.
-                flushSerial();
-                pcSerial.printf("Set FM Vol [0-6]:");
-                uint8_t vol = readnumber();
-                pcSerial.printf("\r\n");
-                if (!fona.setFMVolume(vol)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }   
-                break;
-            }
-            case 'M': {
-                // Get FM volume.
-                int8_t fmvol = fona.getFMVolume();
-                if (fmvol < 0) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("FM volume: %d\r\n", fmvol);
-                }
-                break;
-            }
-            case 'q': {
-                // Get FM station signal level (in decibels).
-                flushSerial();
-                pcSerial.printf("FM Freq (eg 1011 == 101.1 MHz): ");
-                uint16_t station = readnumber();
-                pcSerial.printf("\r\n");
-                int8_t level = fona.getFMSignalLevel(station);
-                if (level < 0) {
-                    pcSerial.printf("Failed! Make sure FM radio is on (tuned to station).\r\n");
-                } else {
-                    pcSerial.printf("Signal level (dB): %d\r\n", level);
-                }
-                break;
-            }
-            
-            /*** PWM ***/
-            /*
-            case 'P': {
-                // PWM Buzzer output @ 2KHz max
-                flushSerial();
-                pcSerial.printf("PWM Freq, 0 = Off, (1-2000): ");
-                uint16_t freq = readnumber();
-                pcSerial.printf("\r\n");
-                if (! fona.setPWM(freq)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                break;
-            }
-            
-            /*** Call ***/
-            /*
-            case 'c': {      
-                // call a phone!
-                char number[30];
-                flushSerial();
-                pcSerial.printf("Call #");
-                readline(number, 30);
-                pcSerial.printf("\r\n");
-                pcSerial.printf("Calling %s\r\n", number);
-                if (!fona.callPhone(number)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("Sent!\r\n");
-                }
-                
+                uLCD.printf("\n\nTuned!");
+                wait(1);
+                printFirst = true;
+                blockInterrupts = false;
+                myTopMenu = radio_TUNE;
                 break;
             }
-            case 'h': {
-                // hang up! 
-                if (! fona.hangUp()) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                break;     
-            }
-            
-            case 'p': {
-                // pick up! 
-                if (! fona.pickUp()) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("OK!\r\n");
-                }
-                break;     
-            }
-            
-            /*** SMS ***/
-            /*
-            case 'N': {
-                // read the number of SMS's!
-                int8_t smsnum = fona.getNumSMS();
-                if (smsnum < 0) {
-                    pcSerial.printf("Could not read # SMS\r\n");
-                } else {
-                    pcSerial.printf("%d SMS's on SIM card!\r\n", smsnum); 
-                }
-                break;
-            }
-            case 'r': {
-                // read an SMS
-                flushSerial();
-                pcSerial.printf("Read #");
-                uint8_t smsn = readnumber();
-                pcSerial.printf("\r\nReading SMS #%d\r\n", smsn);
-                
-                // Retrieve SMS sender address/phone number.
-                if (! fona.getSMSSender(smsn, replybuffer, 250)) {
-                    pcSerial.printf("Failed!\r\n");
-                    break;
-                }
-                pcSerial.printf("FROM: %s\r\n", replybuffer);
-                
-                // Retrieve SMS value.
-                uint16_t smslen;
-                if (! fona.readSMS(smsn, replybuffer, 250, &smslen)) { // pass in buffer and max len!
-                    pcSerial.printf("Failed!\r\n");
-                    break;
-                }
-                pcSerial.printf("***** SMS #%d (%d) bytes *****\r\n", smsn, smslen); 
-                pcSerial.printf("%s\r\n", replybuffer);
-                pcSerial.printf("*****\r\n");
-                
-                break;
-            }
-            case 'R': {
-                // read all SMS
-                int8_t smsnum = fona.getNumSMS();
-                uint16_t smslen;
-                for (int8_t smsn=1; smsn<=smsnum; smsn++) {
-                    pcSerial.printf("\r\nReading SMS #%d\r\n", smsn);
-                    if (!fona.readSMS(smsn, replybuffer, 250, &smslen)) {  // pass in buffer and max len!
-                        pcSerial.printf("Failed!\r\n");
-                        break;
+            case EXECUTE_radio_OFF: {
+                blockInterrupts = true;
+                if (printFirst){
+                    if (! fona.FMradio(false)) {
+                        uLCD.printf("\n\nFailed\r\n");
+                        wait(1);
+                    } 
+                    else {
+                        uLCD.printf("\n\nOK!\r\n");
+                        wait(1);
                     }
-                    // if the length is zero, its a special case where the index number is higher
-                    // so increase the max we'll look at!
-                    if (smslen == 0) {
-                        pcSerial.printf("[empty slot]\r\n");
-                        smsnum++;
-                        continue;
-                    }
-                    
-                    pcSerial.printf("***** SMS #%d (%d) bytes *****\r\n", smsn, smslen);
-                    pcSerial.printf("%s\r\n", replybuffer);
-                    pcSerial.printf("*****\r\n");
-                }
-                break;
-            }
-            
-            case 'd': {
-                // delete an SMS
-                flushSerial();
-                pcSerial.printf("Delete #");
-                uint8_t smsn = readnumber();
-                
-                pcSerial.printf("\r\nDeleting SMS #%d\r\n", smsn);
-                if (fona.deleteSMS(smsn)) {
-                    pcSerial.printf("OK!\r\n");
-                } else {
-                    pcSerial.printf("Couldn't delete\r\n");
+                    printFirst = true;
+                    blockInterrupts = false;
+                    myTopMenu = radio_OFF;
                 }
                 break;
             }
-            
-            case 's': {
-                // send an SMS!
-                char sendto[21], message[141];
-                flushSerial();
-                pcSerial.printf("Send to #");
-                readline(sendto, 20);
-                pcSerial.printf("%s\r\n", sendto);
-                pcSerial.printf("Type out one-line message (140 char): ");
-                readline(message, 140);
-                pcSerial.printf("%s\r\n", message);
-                if (!fona.sendSMS(sendto, message)) {
-                    pcSerial.printf("Failed\r\n");
-                } else {
-                    pcSerial.printf("Sent!\r\n");
-                }
-                
-                break;
-            }
-            
-            /*** Time ***/
-            /*
-            case 'y': {
-                // enable network time sync
-                if (!fona.enableNetworkTimeSync(true))
-                    pcSerial.printf("Failed to enable\r\n");
-                break;
-            }
-            
-            case 'Y': {
-                // enable NTP time sync
-                if (!fona.enableNTPTimeSync(true, "pool.ntp.org"))
-                    pcSerial.printf("Failed to enable\r\n");
-                break;
-            }
-            
-            case 't': {
-                // read the time
-                char buffer[23];
-                
-                fona.getTime(buffer, 23);  // make sure replybuffer is at least 23 bytes!
-                pcSerial.printf("Time = %s\r\n", buffer);
-                break;
-            }
-            
-            /*********************************** GPS (SIM808 only) */
-            /*
-            case 'o': {
-                // turn GPS off
-                if (!fona.enableGPS(false))  
-                    pcSerial.printf("Failed to turn off\r\n");
-                break;
-            }
-            case 'O': {
-                // turn GPS on
-                if (!fona.enableGPS(true))  
-                    pcSerial.printf("Failed to turn on\r\n");
-                break;
-            }
-            case 'x': {
-                int8_t stat;
-                // check GPS fix
-                stat = fona.GPSstatus();
-                if (stat < 0)  
-                    pcSerial.printf("Failed to query\r\n");
-                if (stat == 0) pcSerial.printf("GPS off\r\n");
-                if (stat == 1) pcSerial.printf("No fix\r\n");
-                if (stat == 2) pcSerial.printf("2D fix\r\n");
-                if (stat == 3) pcSerial.printf("3D fix\r\n");
-                break;
-            }
-            
-            case 'L': {
-                // check for GPS location
-                char gpsdata[80];
-                fona.getGPS(0, gpsdata, 80);
-                pcSerial.printf("Reply in format: mode,longitude,latitude,altitude,utctime(yyyymmddHHMMSS),ttff,satellites,speed,course\r\n");
-                pcSerial.printf("%s\r\n", gpsdata);
-                
-                break;
-            }
-            
-            case 'E': {
-                flushSerial();
-                pcSerial.printf("GPS NMEA output sentences (0 = off, 34 = RMC+GGA, 255 = all)\r\n");
-                uint8_t nmeaout = readnumber();
-                
-                // turn on NMEA output
-                fona.enableGPSNMEA(nmeaout);
-                
-                break;
-            }
-            
-            /*********************************** GPRS */
-            /*
-            case 'g': {
-                // turn GPRS off
-                if (!fona.enableGPRS(false))  
-                    pcSerial.printf("Failed to turn off\r\n");
-                break;
-            }
-            case 'G': {
-                // turn GPRS on
-                if (!fona.enableGPRS(true))  
-                    pcSerial.printf("Failed to turn on\r\n");
-                break;
-            }
-            case 'l': {
-                // check for GSMLOC (requires GPRS)
-                uint16_t returncode;
-                
-                if (!fona.getGSMLoc(&returncode, replybuffer, 250))
-                    pcSerial.printf("Failed!\r\n");
-                if (returncode == 0) {
-                    pcSerial.printf("%s\r\n", replybuffer);
-                } else {
-                    pcSerial.printf("Fail code #%d\r\n", returncode);
-                }
-                
-                break;
-            }
-            case 'w': {
-                // read website URL
-                uint16_t statuscode;
-                int16_t length;
-                char url[80];
-                
-                flushSerial();
-                pcSerial.printf("NOTE: in beta! Use small webpages to read!\r\n");
-                pcSerial.printf("URL to read (e.g. www.adafruit.com/testwifi/index.html):\r\n");
-                pcSerial.printf("http://"); readline(url, 79);
-                pcSerial.printf("%s\r\n", url);
-                
-                pcSerial.printf("****\r\n");
-                if (!fona.HTTP_GET_start(url, &statuscode, (uint16_t *)&length)) {
-                    pcSerial.printf("Failed!\r\n");
-                    break;
-                }
-                while (length > 0) {
-                    while (fona.readable()) {
-                        char c = fona.getc();
-                        pcSerial.putc(c);
-                        length--;
-                        if (! length) break;
-                    }
-                }
-                pcSerial.printf("\r\n****\r\n");
-                fona.HTTP_GET_end();
-                break;
-            }
-            
-            case 'W': {
-                // Post data to website
-                uint16_t statuscode;
-                int16_t length;
-                char url[80];
-                char data[80];
-                
-                flushSerial();
-                pcSerial.printf("NOTE: in beta! Use simple websites to post!\r\n");
-                pcSerial.printf("URL to post (e.g. httpbin.org/post):\r\n");
-                pcSerial.printf("http://"); readline(url, 79);
-                pcSerial.printf("%s\r\n", url);
-                pcSerial.printf("Data to post (e.g. \"foo\" or \"{\"simple\":\"json\"}\"):\r\n");
-                readline(data, 79);
-                pcSerial.printf("%s\r\n", data);
-                
-                pcSerial.printf("****\r\n");
-                if (!fona.HTTP_POST_start(url, "text/plain", (uint8_t *) data, strlen(data), &statuscode, (uint16_t *)&length)) {
-                    pcSerial.printf("Failed!\r\n");
-                    break;
-                }
-                while (length > 0) {
-                    while (fona.readable()) {
-                        char c = fona.getc();
-                        pcSerial.putc(c);
-                        length--;
-                        if (! length) break;
-                    }
-                }
-                pcSerial.printf("\r\n****\r\n");
-                fona.HTTP_POST_end();
-                break;
-            }
-            /*****************************************/
-            /*
-            case 'S': {
-                pcSerial.printf("Creating SERIAL TUBE\r\n");
-                while (1) {
-                    while (pcSerial.readable()) {
-                        wait_ms(1);
-                        fona.putc(pcSerial.getc());
-                    }
-                    if (fona.readable()) {
-                        pcSerial.putc(fona.getc());
-                    }
-                }
-            }
-            
-            default: {
-                pcSerial.printf("Unknown command\r\n");
-                printMenu();
-                break;
-            }
-        }
-        // flush input
-        flushSerial();
-        while (fona.readable()) {
-            pcSerial.putc(fona.getc());
+
+
+
+
         }
     }
 }
-*/
+
+
+
+
 
 void printTopLine(void) {
-    
-    uLCD.locate(1,5);
+    uLCD.locate(5,0);
     // read the battery voltage and percentage
     uint16_t vbat;
     if (! fona.getBattPercent(&vbat)) {
         uLCD.printf("BATT:NA\r\n");
-    } else {
-        uLCD.printf("VPct = %d%%\r\n", vbat);
+    } 
+    else {
+        uLCD.printf("b=%d%%\r\n", vbat);
     }
 }
 
 
+
 void printMenu(void) {
     pcSerial.printf("-------------------------------------\r\n");
     pcSerial.printf("[?] Print this menu\r\n");