Wireless interface using LoRa technology
Dependencies: AlohaTransceiver RingBuffer SX1276Lib SerialInterfaceProtocol mbed L3PDU
Diff: main.cpp
- 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: