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.
35 lines
916 B
C++
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);
|
|
}
|