[Firmware] Adapt Decoder for Optimized Payload Format

This commit is contained in:
seiichiro 2020-01-26 17:14:12 +01:00
parent 6a6c97a01d
commit 1aac8c9f15
2 changed files with 18 additions and 11 deletions

View File

@ -11,14 +11,21 @@ Project was created using PlatformIO Atmel-AVR Framework
```
function Decoder(bytes, port) {
var decoded = {};
decoded.t = (bytes[0]) | (bytes[1] << 8 ) | (bytes[2] << 16 ) | (bytes[3] << 24)
decoded.t = decoded.t / 100
decoded.p = (bytes[4]) | (bytes[5] << 8 ) | (bytes[6] << 16 ) | (bytes[7] << 24)
decoded.p = decoded.p / 100
decoded.h = (bytes[8]) | (bytes[9] << 8 ) | (bytes[10] << 16 ) | (bytes[11] << 24)
decoded.h = decoded.h / 100
decoded.v = (bytes[12]) | (bytes[13] << 8 ) | (bytes[14] << 16 ) | (bytes[15] << 24)
decoded.v = decoded.v / 1000
// We always have Battery Voltage
decoded.v = (bytes[0] * 20) / 1000.0;
// Temperature (int32_t)
if (bytes.length >= 5)
decoded.t = (bytes[1]) | (bytes[2] << 8 ) | (bytes[3] << 16 ) | (bytes[4] << 24) / 100.0;
// Humidity (int32_t)
if (bytes.length >= 9)
decoded.t = (bytes[5]) | (bytes[6] << 8 ) | (bytes[7] << 16 ) | (bytes[8] << 24) / 100.0;
// Atmospheric Pressure (int32t)
if (bytes.length >= 13)
decoded.t = (bytes[9]) | (bytes[10] << 8 ) | (bytes[11] << 16 ) | (bytes[12] << 24) / 100.0;
return decoded;
}

View File

@ -202,7 +202,7 @@ void loop()
#ifdef RF_LORA
#ifdef HAS_NO_SENSOR
// Send Packet in all 12 SFs for Beacon Mode
// Send Packet in all 6 SFs for Beacon Mode
unsigned char Frame_Port =0x07;
for (int i = SF7BW125; i<=SF12BW125; i++) {
lora_data tdata = data;
@ -213,7 +213,7 @@ void loop()
}
#else
// Send LoRa Packet, Increment Frame Counter
lora.Send_Data((unsigned char *)&data, sizeof(data), Frame_Counter_Tx, SF7BW125);
lora.Send_Data((unsigned char *)&data, sizeof(data), Frame_Counter_Tx, SF7BW125, 0x01);
Frame_Counter_Tx++;
#endif
#endif
@ -230,4 +230,4 @@ void loop()
// Sleep until next Measurement
sleep(SLEEP_TIME);
}
}