klnodekb/js/bprotocolparser.js

53 lines
943 B
JavaScript

const { uint8array, array } = require("jszip/lib/support")
exports.newPacket=function(cmd,payload)
{
if (!cmd)
{
return -1;
}
if (payload)
{
var p=2;
var bf=new Uint8Array(payload.length+3);
bf[0]=0xFE;
bf[1]=cmd;
payload.forEach((element,index) => {
bf[p]=element;
p=p+1;
});
bf[p]=0xFD;
}
return bf;
}
exports.parsePacket=function(data)
{
if (!data)
{
return -1;
}
var len=data.length;
if (data[0]!=0xFE || data[len-1]!=0xFD)
{
return -2
}
var cmd=data[1];
var p=0;
var bf=new Uint8Array(len-4);
data.forEach((element,index) => {
if (index>1 && index<len-1)
{
bf[p]=element;
p=p+1;
}
});
return {'cmd':cmd,'payload':bf};
}