53 lines
943 B
JavaScript
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};
|
|
} |