initial

Dependencies:   ATParser mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "ATParser.h"
00003 #include "MPL3115A2.h"
00004 #include <string.h>
00005 #include <stdlib.h>
00006 
00007 BufferedSerial pc(SERIAL_TX, SERIAL_RX);
00008 BufferedSerial device(PA_9, PA_10);  // tx, rx
00009 DigitalOut myled(LED1);
00010 MPL3115A2 pressure_sensor(PB_7,PB_6,0x60);
00011 
00012 //This program will be called when an s is typed
00013 //in screen
00014 
00015 //This program will ultimately call itself every hour
00016 
00017 
00018 int main()
00019 {
00020     pc.baud(115200);
00021     device.baud(115200);
00022     pc.printf("Hola\n\r");
00023     ATParser at = ATParser(device, "\n\r", 256, 2000, false);
00024     if(at.send("AT") && at.recv("\n\r"))
00025     {
00026         pc.printf("Bueno#1\n\r");
00027         myled = !myled;
00028     }
00029     else
00030         pc.printf("Nope#1\n\r"); 
00031     if(at.send("AT+NI=1,MTCDT-19400691") && 1) 
00032         pc.printf("Bueno#2\n\r");
00033     else  
00034        pc.printf("Nope#2\n\r");
00035     if(at.send("AT+NK=1,MTCDT-19400691") && 1)
00036         pc.printf("Bueno #3\n\r");
00037     else
00038         pc.printf("Nope #3\n\r");
00039     if(at.send("AT+FSB=1") && 1)
00040         pc.printf("Bueno #4\n\r");
00041     else
00042         pc.printf("Nope #4\n\r");
00043     if(at.send("AT+JOIN")&& 1)
00044         pc.printf("Bueno #5\n\r");
00045     else
00046         pc.printf("Nope #5\n\r");
00047     
00048     char devID[24];
00049     if(at.send("AT+DI") && at.recv("%s\r\n\r\nOK", &devID))
00050         pc.printf("Bueno#6\n\r");
00051     else
00052         pc.printf("Nope #6\n\r");
00053     while(1)
00054     {    
00055         double pressure = pressure_sensor.getPressure();
00056         double temperature = pressure_sensor.getTemperature();
00057         //pc.printf("temp = %lf\n\r", temperature);
00058         //pc.printf("pressure = %lf\n\r", pressure);
00059         char temp[5];
00060         char press[6];
00061         int n;
00062         n = sprintf(temp, "%.2lf", temperature);
00063         n = sprintf(press, "%.2lf", pressure);
00064         //pc.printf("Transfer worked: %s\n\r", press);
00065         if(at.send("AT+SEND=\"%s\"", temp) && 1)
00066             pc.printf("sent temp\n\r");
00067         else
00068             pc.printf("didn't send temp #7\n\r");
00069         if(at.send("AT+SEND=\"%s\"", press) && 1)
00070             pc.printf("sent pressure\n\r");
00071         else
00072             pc.printf("didn't send pressure\n\r");
00073         wait(3600);
00074     }
00075 }
00076 
00077 /*
00078 Bryce code for getting Device ID
00079 memset(address, 0, 100);
00080 len = at.read(address, 100)
00081 for(i = 0; i < len; i++)
00082 {
00083     if(!address[i]);
00084     else if(address[i] >= '0') printf("%c\n\r",address[i]);
00085     else if(address[i]=='\n') printf("\\n\n\r", address[i]);
00086     else if(address[i]=='\r') printf("\\r\n\r", address[i]);
00087 }
00088 */