Wireless interface using LoRa technology

Dependencies:   AlohaTransceiver RingBuffer SX1276Lib SerialInterfaceProtocol mbed L3PDU

Revision:
16:ab2d9341997a
Parent:
15:182b95c25cf2
Child:
18:f37e567f0497
--- a/main.cpp	Thu Aug 11 03:43:51 2016 +0000
+++ b/main.cpp	Fri Aug 12 03:33:22 2016 +0000
@@ -1,6 +1,6 @@
 #include "mbed.h"
 #include "AlohaTransceiver.h"
-#include "buffer.h"
+#include "CommandPacket.h"
 #include "SerialInterfaceProtocol.h"
 #include "AlohaFrame.h"
 #include "ControlPacket.h"
@@ -448,16 +448,38 @@
             {
                 case 0x0:   // temperature sensor
                 {
-                    uint8_t sensor_data = dataBlockPacket.getData(0);
-                
-                    char serial_resp[32];
-                    memset(serial_resp, 0x0, sizeof(serial_resp));
-                    sprintf(serial_resp, "<f00300%02x%02xff>", src_addr, sensor_data);
-                    printf("expected: %s\r\n", serial_resp);
+                    uint8_t payload[3];
+                    
+                    // copy sensor type
+                    payload[0] = 0x00;           // assume 0x00 is temperature sensor
+                    
+                    // copy sensor data
+                    payload[1] = src_addr;       // assume we only use one byte
+                    
+                    // copy address of source node
+                    payload[2] = dataBlockPacket.getData(0);
+                    
+                    // make response
+                    SIP.respond(0xf0, payload, 3);
+
                     break;
                 }
-                case 0x1:   // temperature sensor
+                case 0x1:   // door sensor
                 {
+                    uint8_t payload[3];
+                    
+                    // copy sensor type
+                    payload[0] = 0x01;
+                    
+                    // copy sensor data
+                    payload[1] = src_addr;
+                    
+                    // copy address of source node
+                    payload[2] = dataBlockPacket.getData(0);
+                    
+                    // make response
+                    SIP.respond(0xf0, payload, 3);
+                    
                     break;
                 }
                 default: