50 lines
659 B
C++
50 lines
659 B
C++
#include "Process.h"
|
|
|
|
Process::Process(QObject *parent)
|
|
: QObject{parent}
|
|
{
|
|
|
|
}
|
|
|
|
|
|
QByteArray Process::Packer(quint8 id, QByteArray msg)
|
|
{
|
|
size_t j;
|
|
size_t i;
|
|
uint8_t sum;
|
|
QByteArray pack;
|
|
|
|
pack[0] = head1;
|
|
pack[1] = head2;
|
|
|
|
pack[2] = id;
|
|
|
|
uint32_t len = msg.size();
|
|
|
|
pack[3] = (quint8)((len & 0x000000FF) >> 0);
|
|
pack[4] = (quint8)((len & 0x0000FF00) >> 8);
|
|
pack[5] = (quint8)((len & 0x00FF0000) >> 16);
|
|
pack[6] = (quint8)((len & 0xFF000000) >> 24);
|
|
|
|
sum = 0u;
|
|
for (i=7,j=0u;j<len;++i,++j)
|
|
{
|
|
pack[i] = msg[j];
|
|
sum += msg[j];
|
|
}
|
|
pack[i] = sum;
|
|
return pack;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|