Skip to content

Commit a2a9a4b

Browse files
committed
Fixed decoder function for negative temperatures
1 parent 887ded5 commit a2a9a4b

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

examples/Basic/Basic.ino

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ function Decoder(bytes, port) {
3333
decoded.event = events[port];
3434
decoded.battery = (bytes[0] << 8) + bytes[1];
3535
decoded.light = (bytes[2] << 8) + bytes[3];
36-
decoded.temperature = ((bytes[4] << 8) + bytes[5]) / 100;
36+
if (bytes[4] & 0x80)
37+
decoded.temperature = ((0xffff << 16) + (bytes[4] << 8) + bytes[5]) / 100;
38+
else
39+
decoded.temperature = ((bytes[4] << 8) + bytes[5]) / 100;
3740
return decoded;
3841
}
3942
*/

examples/Basic/Decoder.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ function Decoder(bytes, port) {
2424
decoded.event = events[port];
2525
decoded.battery = (bytes[0] << 8) + bytes[1];
2626
decoded.light = (bytes[2] << 8) + bytes[3];
27-
decoded.temperature = ((bytes[4] << 8) + bytes[5]) / 100;
27+
if (bytes[4] & 0x80)
28+
decoded.temperature = ((0xffff << 16) + (bytes[4] << 8) + bytes[5]) / 100;
29+
else
30+
decoded.temperature = ((bytes[4] << 8) + bytes[5]) / 100;
2831

2932
return decoded;
3033
}

0 commit comments

Comments
 (0)