PIR still blocked by the XBee reading. Audio sensor not configured yet.
Dependencies: BME280 SI1145 mbed
Diff: main.cpp
- Revision:
- 6:002e8a4809eb
- Parent:
- 5:0e4d19f6ba45
- Child:
- 7:5d217e208d3f
--- a/main.cpp Wed Jul 26 13:22:03 2017 +0000 +++ b/main.cpp Wed Jul 26 22:24:14 2017 +0000 @@ -20,12 +20,10 @@ // Declare Noise Sensor Stuff #define noise_pin (PA_1) -Timer t; - -const char nodeID = '3'; +const char nodeID = '2'; // RX declarations -uint8_t rx_buffer[64]; +uint8_t rx_buffer[128]; bool rx_flag = false; int rx_index = 0; @@ -38,8 +36,9 @@ // Declare the PIR interface -InterruptIn PIR_sensor(PA_5); +InterruptIn PIR_sensor(PB_5); Ticker pir_timer; +Ticker pir_send_timer; bool pir_enable = false; bool pir_trigger = false; @@ -51,28 +50,31 @@ void SendSensorData(int t, int p, int h, int u, int ir, int v, int n){ //" ni:XX, te:XX,pr:XX,hu:XX,uv:XX,ir:XX,vi:XX,no:XX" xb.printf( ",ni:%c,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",nodeID,t,p,h,u,ir,v,n); - pc.printf("SEND: ,ni:%c,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",nodeID,t,p,h,u,ir,v,n); + pc.printf(" >> ,ni:%c,te:%d,pr:%d,hu:%d,uv:%d,ir:%d,vi:%d,no:%d\n\r",nodeID,t,p,h,u,ir,v,n); } void SendPirFlag(){ if(xb.writeable() && pir_enable){ xb.printf("ni:%c,mo:1\r\n",nodeID); - pc.printf("ni:%c,mo:1\r\n",nodeID); + pc.printf(" >> ni:%c,mo:1\r\n",nodeID); pir_trigger = false; } } // PIR interrupt. Set the pir_trigger to true when interrupted. void PIR(void){ - //pc.printf(" !! "); - pir_trigger = true; + + //pc.printf(" %d \r\n", PIR_sensor.read()); + if(PIR_sensor.read() && !pir_trigger){ + pc.printf("# \r\n"); + pir_trigger = true; + } } // This method is attached to a timer void PIR_timed_send(){ - if(pir_enable && pir_trigger){ + if(pir_trigger){ SendPirFlag(); - pir_trigger = false; } } @@ -83,19 +85,19 @@ void rx_read_callback(){ char c = xb.getc(); - pc.printf("%c", c); + //pc.printf("%c", c); if(c == '\n'){ rx_index++; rx_flag = true; rx_index = 0; - pc.printf(" EOM \r\n"); + //pc.printf("EOM \r\n"); } else { rx_buffer[rx_index] = c; rx_index++; } - if(rx_index > 63){ + if(rx_index > 127){ rx_index = 0; } @@ -103,15 +105,15 @@ int main() { initialize_serial_connections(); - memset(rx_buffer, '\0', 64); + memset(rx_buffer, '\0', 128); pc.printf("\n\rMic test 1-2, 1-2\n\r"); xb.attach(&rx_read_callback, Serial::RxIrq); - // Attach the PIR function to interrupt - //PIR_sensor.rise(&PIR); - pir_timer.attach(&PIR_timed_send,3); - + // Attach the PIR function to ticker thing + pir_timer.attach(&PIR, 0.1); + pir_send_timer.attach(&PIR_timed_send, 1.5); + char pc_data = 'e'; int temp = 1; @@ -121,7 +123,6 @@ int ir = 6; int vis = 7; int noise = 8; - t.reset(); bool send_enable = false; @@ -148,24 +149,24 @@ noise = adc_noise.read(); if(rx_flag){ - pc.printf("IND: 0123456789ABCDEF\r\n"); // Show indices - pc.printf("RECV: %s\r\n", rx_buffer); // Show received message + //pc.printf("IND: 0123456789ABCDEF\r\n"); // Show indices + pc.printf("<< %s\r\n", rx_buffer); // Show received message rx_flag = false; if(rx_buffer[3] == nodeID){ send_enable = true; } else { - pc.printf("Target: NODE %c\r\n", rx_buffer[3]); + //pc.printf("Target: NODE %c\r\n", rx_buffer[3]); } if(rx_buffer[5] == 'm' && rx_buffer[6] == 's'){ send_enable = false; if(rx_buffer[8] == '1'){ pir_enable = true; - pc.printf("PIR enabled\r\n"); + pc.printf("PIR on\r\n"); } else { pir_enable = false; - pc.printf("PIR disabled\r\n"); + pc.printf("PIR off\r\n"); } } memset(rx_buffer, '\0', sizeof(rx_buffer));