Skip to content
Snippets Groups Projects
Commit 723f3328 authored by Adrien van den Bossche's avatar Adrien van den Bossche
Browse files

Add type 2 (ocally_referenced) decoder

parent 5f794207
No related branches found
No related tags found
No related merge requests found
<script type="text/javascript">
RED.nodes.registerType('Decode LocRef',{
category: 'locapack',
color: '#d06b5f',
defaults: {
name: {value:""}
},
inputs:1,
outputs:1,
icon: "file.png",
label: function() {
return this.name||"Decode LocRef";
}
});
</script>
<script type="text/html" data-template-name="Decode LocRef">
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>
<script type="text/html" data-help-name="Decode LocRef">
<p>A node that decodes Locapack type 2 payloads (Locally Referenced)</p>
</script>
module.exports = function(RED) {
function DecodeLocallyReferencedPacketNode(config) {
RED.nodes.createNode(this,config);
var node = this;
node.on('input', function(msg) {
var p = {};
var buff = msg.payload.LocaPack.payload;
var len = 0;
// Get Header Field (hdr)
var hdr = {};
var hdr_raw = parseInt(buff[len]);
hdr.z_presence_flag = (hdr_raw & 0x80) ? true : false;
hdr.dop_presence_flag = (hdr_raw & 0x40) ? true : false;
hdr.frameofref_id_presence_flag = (hdr_raw & 0x20) ? true : false;
p.header = hdr;
len += 1;
// Latitude
p.x = buff.readFloatLE(len);
len += 4;
// Longitude
p.y = buff.readFloatLE(len);
len += 4;
// If the message contains the z field
if (p.header.z_presence_flag ) {
p.z = buff.readFloatLE(len);
len += 4;
}
// If the message contains the dop field
if (p.header.dop_presence_flag ) {
p.dop = buff.readFloatLE(len);
len += 4;
}
// If the message contains the frameofref_id field
if (p.header.frameofref_id_presence_flag ) {
p.frameofref_id = 0; //buff.readBigInt64LE(len);
len += 8;
}
msg.payload.LocaPack["locallyReferencedPacket"] = p;
node.send(msg);
});
}
RED.nodes.registerType("Decode LocRef",DecodeLocallyReferencedPacketNode);
}
......@@ -22,5 +22,5 @@
</script>
<script type="text/html" data-help-name="Decode GNSS">
<p>A simple node that converts the message payloads decode_universal_gnss_packet</p>
<p>A node that decodes Locapack type 1 payloads (Universal GNSS)</p>
</script>
......@@ -11,7 +11,8 @@
"node-red" : {
"nodes": {
"DecodeLocapackHeader": "decode_locapack_header/decode_locapack_header.js",
"DecodeUniversalGnssPacket": "decode_universal_gnss_packet/decode_universal_gnss_packet.js"
"DecodeUniversalGnssPacket": "decode_universal_gnss_packet/decode_universal_gnss_packet.js",
"DecodeLocallyReferencedPacket": "decode_locally_referenced_packet/decode_locally_referenced_packet.js"
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment