CPS_Lab*
/
Lab9
initial
Embed:
(wiki syntax)
Show/hide line numbers
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 */
Generated on Thu Jul 21 2022 13:07:16 by 1.7.2