
Minimum proof of concept
Dependencies: mbed BME280 SI1145
Revision 11:0c66b84f8553, committed 2017-07-06
- Comitter:
- jonathanyost
- Date:
- Thu Jul 06 22:49:39 2017 +0000
- Parent:
- 10:1296cc169c60
- Commit message:
- asdf;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 1296cc169c60 -r 0c66b84f8553 main.cpp --- a/main.cpp Thu Jul 06 16:32:54 2017 +0000 +++ b/main.cpp Thu Jul 06 22:49:39 2017 +0000 @@ -16,7 +16,6 @@ #include "mbed.h" #include "BME280.h" #include "SI1145.h" -//#include "MODSERIAL.h" // Define Constants / Macros #define node_id (0x01) @@ -33,36 +32,39 @@ // Declare the PIR interface InterruptIn MotionDetect(PA_0); bool pir_enable = true; +bool pir_trigger = false; // Declare Serial Interfaces -//Serial xb(tx, rx); -//Serial pc(D1, D0); - Serial xb(tx, rx); Serial pc(D1, D0); // send_sensor_data(temp, pressure, humidity, motion, uv, ir, vis, noise); // "id:2,te:2,pr:3,mo:4,uv:5,ir:6,vi:7,no:8" void SendSensorData(int t, int p, int h, int u, int ir, int v, int n){ - //" id:2, te:%2,pr:%3,uv:%5,ir:%6,vi:%7,no:%8" + //" ni:XX, te:XX,pr:XX,hu:XX,uv:XX,ir:XX,vi:XX,no:XX" xb.printf( ",ni:%d,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",1,t,p,h,u,ir,v,n); - pc.printf("send: id:%d,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",1,t,p,h,u,ir,v,n); + pc.printf("send: ni:%d,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",1,t,p,h,u,ir,v,n); } void SendPirFlag(){ - xb.printf("ni:%c,mo:1\r\n",nodeID); + if(xb.writeable() && pir_enable){ + pir_trigger = false; + xb.printf("ni:%c,mo:1\r\n",nodeID); + pc.printf("ni:%c,mo:1\r\n",nodeID); + } } // PIR interrupt. Set the pir_trigger to true when interrupted. void PIR(void){ - if(xb.writeable() && pir_enable){ + pir_trigger = true; + if(pir_enable){ SendPirFlag(); pc.printf("PIR FLAG ISR\r\n"); } } void initialize_serial_connections(){ - xb.baud(57600); + xb.baud(57600); pc.baud(115200); } @@ -91,22 +93,37 @@ // Debug Controls Input if(pc.readable()){ pc_data = pc.getc(); - pc.printf("PC: %c", pc_data); + pc.printf("%c", pc_data); if(xb.writeable()){xb.printf("%c", pc_data);} } - // testing out using getc() instead of gets() + if(pir_enable && pir_trigger){ + SendPirFlag(); + } if(xb.readable()){ wait(0.01); for(int i = 0; i < sizeof(buffer); i++){ buffer[i] = xb.getc(); - pc.printf("%c", buffer[i]); } - - pc.printf("\r\n"); + pc.printf("=========================================\r\n"); + // Print out received message in char and int format if(buffer[4] == nodeID){ send_enable = true; + pc.printf("RECV: "); + // Print out message (CHAR) + for(int i = 1; i < sizeof(buffer); i++){ + pc.printf("%c", buffer[i]); + } + pc.printf("\r\nRECV: "); + // Print out message (INT) + for(int i = 0; i < sizeof(buffer); i++){ + pc.printf("%i,", buffer[i]); + } + pc.printf("\r\n"); + } else { + pc.printf("Ignore, Target Node: #%c\r\n", buffer[4]); + pc.printf("%s\r\n",buffer); } if(buffer[9] == '1'){ @@ -116,12 +133,6 @@ pir_enable = false; pc.printf("pir_enable = false\r\n"); } - pc.printf("RECV: "); - for(int i = 0; i < sizeof(buffer); i++){ - pc.printf("%i,", buffer[i]); - } - - pc.printf("\r\n"); memset(buffer, '\0', sizeof(buffer)); }