Create testing.js
parent
cbab90cfb4
commit
750837b2c7
@ -0,0 +1,35 @@
|
||||
function Decoder(bytes, port) {
|
||||
var data = {}
|
||||
function bytesToString(a) {
|
||||
return a.map(function(x){ return String.fromCharCode(x) }).join('') // because very OLD js parser
|
||||
}
|
||||
switch (port) {
|
||||
case 1: // Technical Received Acknowledgment '|5||C|''
|
||||
// 31 32 33 34 35 20
|
||||
data.type = 'ack'
|
||||
data.ack = 'recv'
|
||||
data.msgid = bytesToString(bytes.splice(0,5))
|
||||
data.rssi = bytes.splice(0,1) * 1
|
||||
break;
|
||||
case 2: // Read and Operational Acknowledgment 'AA|5|' and Operational '33|5|<CustomByte(s)>'
|
||||
// AA 31 32 33 34 35
|
||||
// operational ack with Payload "test"(maybe you should use a single byte)
|
||||
// 33 31 32 33 34 35 54 65 73 74
|
||||
data.type = 'ack'
|
||||
data.ack = bytes.splice(0,1) == 0xAA ? 'read' : 'operational'
|
||||
data.msgid = bytesToString(bytes.splice(0,5))
|
||||
if (data.ack === 'operational') {
|
||||
data.operationalData = bytesToString(bytes)
|
||||
}
|
||||
break;
|
||||
case 5: // GPS Tracking Port
|
||||
data.type = 'gps'
|
||||
data.latitude = ((bytes[0]<<24)>>>0) + ((bytes[1]<<16)>>>0) + ((bytes[2]<<8)>>>0) + bytes[3]
|
||||
data.latitude /= 10e4
|
||||
data.longitude = ((bytes[4]<<24)>>>0) + ((bytes[5]<<16)>>>0) + ((bytes[6]<<8)>>>0) + bytes[7]
|
||||
data.longitude /= 10e4
|
||||
data.lastGPSAcquisition = bytes[8]
|
||||
break;
|
||||
}
|
||||
return data;
|
||||
}
|
Loading…
Reference in New Issue