新增U盘获取图语License功能
This commit is contained in:
61
FactoryTestTool/SourceCode/RecvDataHandler/MsgTpye.h
Normal file
61
FactoryTestTool/SourceCode/RecvDataHandler/MsgTpye.h
Normal file
@@ -0,0 +1,61 @@
|
||||
#ifndef MSGTYPE_H
|
||||
#define MSGTYPE_H
|
||||
|
||||
// 前板测试项
|
||||
#define FACE_ENROLL_SINGLE 0x0200
|
||||
#define FACE_ENROLL 0x0201
|
||||
#define HAND_ENROLL 0x0202
|
||||
#define FACE_VERIFY 0x0203
|
||||
#define HAND_VERIFY 0x0204
|
||||
#define DEL_USER 0x0205
|
||||
#define DEL_ALLUSER 0x0206
|
||||
#define GET_USER 0x0207
|
||||
#define GET_ALLUSER 0x0208
|
||||
#define PASSWD_ENROLL 0x0209
|
||||
#define IMG_ENROLL 0x020A
|
||||
|
||||
#define GET_IMG 0x0220
|
||||
#define START_VIDEO 0x0221
|
||||
#define STOP_VIDEO 0x0222
|
||||
|
||||
#define TOUCH_TEST 0x0240
|
||||
#define MIC_TEST 0x0241
|
||||
#define SPK_TEST 0x0242
|
||||
#define RADAR_TEST 0x0243
|
||||
#define NFC_TEST 0x0244
|
||||
#define PR_SWITCH 0x0245
|
||||
#define PS_TEST 0x0246
|
||||
#define BACKLIGHT 0x0247
|
||||
#define IR_LED 0x0248
|
||||
#define UART_TEST 0x0249
|
||||
#define PIR_TEST 0x024A
|
||||
|
||||
// 前板配置
|
||||
#define FACE_VERIFY_THRES 0x0300
|
||||
#define FACE_THRES_LEVEL 0x0301
|
||||
#define FACE_LIVE_THRES 0x0302
|
||||
#define FACE_ACC_THRES 0x0303
|
||||
#define FACE_ACC_LEVEL 0x0304
|
||||
#define FACE_DIS_RANGE 0x0305
|
||||
#define FACE_ANGLE_RANGE 0x0306
|
||||
#define HAND_VERIFY_THRES 0x0307
|
||||
#define HANS_THRES_LEVEL 0x0308
|
||||
#define HAND_LIVE_THRES 0x0309
|
||||
#define USER_MAX_NUM 0x030A
|
||||
#define ADMI_USER_MAX_NUM 0x030B
|
||||
#define FACE_REPEAT 0x030C
|
||||
#define HAND_REPEAT 0x030D
|
||||
|
||||
#define SET_IP 0x0320
|
||||
#define SET_PORT 0x0321
|
||||
|
||||
#define SET_VOLUME 0x0340
|
||||
#define SET_BACKLIGHT 0x0341
|
||||
#define SET_RADAR_DIS 0x0342
|
||||
#define SET_UART_BARTRATE 0x0343
|
||||
|
||||
#define SET_LOG_LEVEL 0x0360
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -16,8 +16,14 @@ DataHandler::DataHandler(QLabel* leftLens_imageLabel, QLabel* rightLens_imageLab
|
||||
|
||||
DataHandler::~DataHandler()
|
||||
{
|
||||
delete ffmpegDecoder; // 释放解码器
|
||||
delete buffer;
|
||||
if (ffmpegDecoder) {
|
||||
ffmpegDecoder->requestInterruption();
|
||||
ffmpegDecoder->wait(); // 等待解码器线程完成
|
||||
delete ffmpegDecoder;
|
||||
ffmpegDecoder = nullptr;
|
||||
}
|
||||
delete buffer;
|
||||
buffer = nullptr;
|
||||
}
|
||||
|
||||
// 将十六进制字符串转换为 QByteArray
|
||||
@@ -47,14 +53,10 @@ void DataHandler::showVideo(const QString& client, const QByteArray& valData)
|
||||
}
|
||||
}
|
||||
|
||||
//qDebug() << "==========valData.size:" << valData.size();
|
||||
if (!valData.isEmpty()) {
|
||||
file.write(valData);
|
||||
file.flush(); // 刷新文件缓冲区,以确保数据写入磁盘
|
||||
qWarning() << " ------------ write ------------" ;
|
||||
file.flush(); // 刷新文件缓冲区
|
||||
}
|
||||
//qint64 elapsed = timer.elapsed(); // 获取经过的时间(毫秒)
|
||||
//qDebug() << "Time spent writing file:" << elapsed << "ms";
|
||||
|
||||
if (!start_run) {
|
||||
start_run = 1;
|
||||
@@ -69,29 +71,8 @@ void DataHandler::clearAllRecvData() {
|
||||
dataLen = 0;
|
||||
}
|
||||
|
||||
void DataHandler::handleCmd(unsigned char msg_id, const QString& client, QByteArray actual_data)
|
||||
{
|
||||
switch (msg_id) {
|
||||
case 0x19:
|
||||
{
|
||||
showPic(leftLens_m_imageLabel, rightLens_m_imageLabel, client, actual_data);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x11:
|
||||
{
|
||||
showVideo(client, actual_data);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 处理接收到的数据
|
||||
void DataHandler::handleData(const QString& client, const QByteArray& recvData, unsigned char msg_id,
|
||||
void DataHandler::handleData(const QString& client, const QByteArray& recvData, int msg_id,
|
||||
int currentRecvItemIndex, int currentRecvFuncItemIndex,
|
||||
const QString& itemData, const QString& funcItemData)
|
||||
{
|
||||
@@ -111,7 +92,7 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
qDebug() << "read file data size:" << recvdata.size();
|
||||
#endif
|
||||
|
||||
qDebug() << "---Received data size:" << recvData.size();
|
||||
//qDebug() << "---Received data size:" << recvData.size();
|
||||
|
||||
// 将接收到的数据追加到buffer
|
||||
buffer->append(recvData);
|
||||
@@ -119,7 +100,8 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
while (buffer->size() >= 11) { // 至少需要11个字节来解析数据头
|
||||
// 检查数据头
|
||||
if (buffer->mid(0, 4) == QByteArray::fromHex("aa55aa55")) {
|
||||
msg_id = static_cast<unsigned char>(buffer->at(4));
|
||||
msg_id = (static_cast<unsigned char>(buffer->at(5)) << 8) |
|
||||
(static_cast<unsigned char>(buffer->at(4)));
|
||||
int dataSize = (static_cast<unsigned char>(buffer->at(9)) << 24) |
|
||||
(static_cast<unsigned char>(buffer->at(8)) << 16) |
|
||||
(static_cast<unsigned char>(buffer->at(7)) << 8) |
|
||||
@@ -138,8 +120,8 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
buffer->remove(0, totalSize); // 移除已处理的数据
|
||||
// 暂时设置 NG
|
||||
// 同一个client仅当 msg_id 不连续为 0x11/0x21 或第一次处理时才执行 emit statusUpdated
|
||||
if ((msg_id != 0x11 || clientLastMsgId.value(client, 0) != 0x11) &&
|
||||
(msg_id != 0x21 || clientLastMsgId.value(client, 0) != 0x21)){
|
||||
if ((msg_id != 0x0011 || clientLastMsgId.value(client, 0) != 0x0011) &&
|
||||
(msg_id != 0x0021 || clientLastMsgId.value(client, 0) != 0x0021)){
|
||||
qDebug() << "Emitting statusUpdated for client:" << client << "with msg_id:" << msg_id;
|
||||
emit statusUpdated(client, currentRecvItemIndex + 1, currentRecvFuncItemIndex + 1,
|
||||
true, itemData, funcItemData);
|
||||
@@ -156,3 +138,269 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DataHandler::handleFrontCmd(int msg_id, const QString& client, QByteArray actual_data)
|
||||
{
|
||||
switch (msg_id) {
|
||||
case 0x0019:
|
||||
{
|
||||
showPic(leftLens_m_imageLabel, rightLens_m_imageLabel, client, actual_data);
|
||||
}
|
||||
break;
|
||||
case 0x0011:
|
||||
{
|
||||
showVideo(client, actual_data);
|
||||
}
|
||||
break;
|
||||
case 0x0021:
|
||||
{
|
||||
//showVideo(client, actual_data);
|
||||
}
|
||||
break;
|
||||
case FACE_ENROLL_SINGLE:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_ENROLL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HAND_ENROLL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_VERIFY:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HAND_VERIFY:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case DEL_USER:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case DEL_ALLUSER:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case GET_USER:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case GET_ALLUSER:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case PASSWD_ENROLL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case IMG_ENROLL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case GET_IMG:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case START_VIDEO:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case STOP_VIDEO:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case TOUCH_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case MIC_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SPK_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case RADAR_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case NFC_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case PR_SWITCH:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case PS_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case BACKLIGHT:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case IR_LED:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case UART_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case PIR_TEST:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_VERIFY_THRES:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_THRES_LEVEL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_LIVE_THRES:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_ACC_THRES:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_ACC_LEVEL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_DIS_RANGE:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_ANGLE_RANGE:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HAND_VERIFY_THRES:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HANS_THRES_LEVEL:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HAND_LIVE_THRES:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case USER_MAX_NUM:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case ADMI_USER_MAX_NUM:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case FACE_REPEAT:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case HAND_REPEAT:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_IP:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_PORT:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_VOLUME:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_BACKLIGHT:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_RADAR_DIS:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
case SET_UART_BARTRATE:
|
||||
{
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DataHandler::handleBackCmd(int msg_id, const QString& client, QByteArray actual_data)
|
||||
{
|
||||
switch (msg_id) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void DataHandler::handleCmd(int msg_id, const QString& client, QByteArray actual_data)
|
||||
{
|
||||
if (msg_id < 0x0400) {
|
||||
handleFrontCmd(msg_id, client, actual_data);
|
||||
}
|
||||
else if (msg_id < 0x0800) {
|
||||
handleBackCmd(msg_id, client, actual_data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "../Media/Media.h"
|
||||
#include "../ParseDataHandler/msgID.h"
|
||||
#include "../Media/VideoDecoder/FFmpegDecoder.h"
|
||||
#include "MsgTpye.h"
|
||||
|
||||
#define YUV420 1
|
||||
#define YUV422 2
|
||||
@@ -33,7 +34,7 @@ public:
|
||||
~DataHandler();
|
||||
|
||||
public slots:
|
||||
void handleData(const QString& client, const QByteArray& data, unsigned char msg_id, int currentRecvItemIndex,
|
||||
void handleData(const QString& client, const QByteArray& data, int msg_id, int currentRecvItemIndex,
|
||||
int currentRecvFuncItemIndex, const QString& itemData, const QString& funcItemData);
|
||||
|
||||
signals:
|
||||
@@ -56,7 +57,9 @@ private:
|
||||
QByteArray hexStringToByteArray(const QString& hexString);
|
||||
void showVideo(const QString& client, const QByteArray& valData);
|
||||
void clearAllRecvData();
|
||||
void handleCmd(unsigned char msg_id, const QString& client, QByteArray actual_data);
|
||||
void handleCmd(int msg_id, const QString& client, QByteArray actual_data);
|
||||
void handleFrontCmd(int msg_id, const QString& client, QByteArray actual_data);
|
||||
void handleBackCmd(int msg_id, const QString& client, QByteArray actual_data);
|
||||
};
|
||||
|
||||
#endif // DATAHANDLER_H
|
||||
|
||||
Reference in New Issue
Block a user