33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
// Decode uplink function.
|
|
//
|
|
// Input is an object with the following fields:
|
|
// - bytes = Byte array containing the uplink payload, e.g. [255, 230, 255, 0]
|
|
// - fPort = Uplink fPort.
|
|
// - variables = Object containing the configured device variables.
|
|
//
|
|
// Output must be an object with the following fields:
|
|
// - data = Object representing the decoded payload.
|
|
function decodeUplink(input) {
|
|
var bytes = input.bytes;
|
|
|
|
var BatV = (bytes[0] << 8 | bytes[1]) / 1000 + 0.277;
|
|
var PayVER = bytes[2];
|
|
// If AT+DATAUP=1, PayloadCount=1 byte, payload#=1 byte
|
|
var Temp = (bytes[3] << 8 | bytes[4]) / 10;
|
|
var Humid = (bytes[5] << 8 | bytes[6]) / 10;
|
|
|
|
return {"data": {"BatV":BatV, "PayVER":PayVER, "Temp":Temp, "Humid":Humid}};
|
|
}
|
|
|
|
// Encode downlink function.
|
|
//
|
|
// Input is an object with the following fields:
|
|
// - data = Object representing the payload that must be encoded.
|
|
// - variables = Object containing the configured device variables.
|
|
//
|
|
// Output must be an object with the following fields:
|
|
// - bytes = Byte array containing the downlink payload.
|
|
function encodeDownlink(input) {
|
|
return {bytes: []};
|
|
}
|