You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PayloadAPP/encodemodelcamera.cpp

35 lines
916 B
C++

#include "encodemodelcamera.h"
EncodeModelCamera::EncodeModelCamera(QObject *parent)
: QObject{parent}
{
cameraUDP = new QUdpSocket(this);
//cameraUDP->bind(QHostAddress("198.18.0.1"),8080);
cmdArray.insert(0,0xFA);
cmdArray.insert(1,0xFA);
}
/**
* @brief 发送三维建模相机指令
* @param cmdDataArray 指令ID与负载数据
*/
void EncodeModelCamera::SendCMD(QByteArray cmdDataArray)
{
cmdArray.clear();
cmdArray.insert(0,0xFA);
cmdArray.insert(1,0xFA);
cmdArray.append(cmdDataArray);
uint8_t* data = reinterpret_cast<uint8_t*>(cmdArray.data());
uint16_t crc16 = calCRC16(data,cmdArray.size());
QByteArray byteArray;
QDataStream stream(&byteArray, QIODevice::WriteOnly);
stream.setByteOrder(QDataStream::BigEndian);
stream << crc16;
cmdArray.append(byteArray);
cameraUDP->writeDatagram(cmdArray,QHostAddress("127.0.0.1"),8080);
}