diff --git a/libs/AXP202X_Library.zip b/libs/AXP202X_Library.zip new file mode 100644 index 0000000..3bd7435 Binary files /dev/null and b/libs/AXP202X_Library.zip differ diff --git a/libs/TinyGPSPlus.zip b/libs/TinyGPSPlus.zip new file mode 100644 index 0000000..afe6635 Binary files /dev/null and b/libs/TinyGPSPlus.zip differ diff --git a/libs/arduino-lmic.zip b/libs/arduino-lmic.zip new file mode 100644 index 0000000..48eebb2 Binary files /dev/null and b/libs/arduino-lmic.zip differ diff --git a/libs/esp8266-oled-ssd1306.zip b/libs/esp8266-oled-ssd1306.zip new file mode 100644 index 0000000..415b560 Binary files /dev/null and b/libs/esp8266-oled-ssd1306.zip differ diff --git a/thethingsnetwork/decoder.txt b/thethingsnetwork/decoder.txt new file mode 100644 index 0000000..b6ab2e8 --- /dev/null +++ b/thethingsnetwork/decoder.txt @@ -0,0 +1,20 @@ +function Decoder(bytes, port) { + var decoded = {}; + + decoded.latitude = ((bytes[0]<<16)>>>0) + ((bytes[1]<<8)>>>0) + bytes[2]; + decoded.latitude = (decoded.latitude / 16777215.0 * 180) - 90; + + decoded.longitude = ((bytes[3]<<16)>>>0) + ((bytes[4]<<8)>>>0) + bytes[5]; + decoded.longitude = (decoded.longitude / 16777215.0 * 360) - 180; + + var altValue = ((bytes[6]<<8)>>>0) + bytes[7]; + var sign = bytes[6] & (1 << 7); + if(sign) decoded.altitude = 0xFFFF0000 | altValue; + else decoded.altitude = altValue; + + decoded.hdop = bytes[8] / 10.0; + decoded.sats = bytes[9]; + + return decoded; +} +