优化光电吊舱代码逻辑

pull/7/head
caoyuhui 7 months ago
parent 03fcfc0981
commit 5cd4255abf

@ -100,6 +100,16 @@ void GDDCCmdDlg::initParam() {
ui->lineEdit_6_2->setText("540"); ui->lineEdit_6_2->setText("540");
detectionAreaSetting = false; detectionAreaSetting = false;
} }
// 设置tabwidget的几何位置
void GDDCCmdDlg::setTabWidgetGeometry(int ax, int ay, int aw, int ah) {
ui->tabWidget->setGeometry(ax, ay, aw, ah);
}
// 设置AI监测lineEdit的内容
void GDDCCmdDlg::setAIDetcLineEditText(QString str1, QString str2) {
ui->lineEdit_6_1->setText(str1);
ui->lineEdit_6_2->setText(str2);
}
// 更新m_DCcmdBuffer // 更新m_DCcmdBuffer
void GDDCCmdDlg::UpdateDataTJDC() { void GDDCCmdDlg::UpdateDataTJDC() {
/******************模拟发送天进吊舱控制指令************************/ /******************模拟发送天进吊舱控制指令************************/

@ -1,239 +1,232 @@
#ifndef GDDCCMDDLG_H #ifndef GDDCCMDDLG_H
#define GDDCCMDDLG_H #define GDDCCMDDLG_H
#include <QWidget> #include <QByteArray>
#include <vector> #include <QDateTime>
#include <QDir>
#include <QHeaderView> #include <QHeaderView>
#include <QStandardItemModel>
#include <QUdpSocket>
#include <QHostAddress> #include <QHostAddress>
#include <QNetworkDatagram>
#include <QByteArray>
#include <QTimer>
#include <QMouseEvent> #include <QMouseEvent>
#include <QNetworkDatagram>
#include <vector>
#include <QHeaderView>
#include <QStandardItemModel>
#include <QDateTime>
#include <QNetworkInterface> #include <QNetworkInterface>
#include <QStandardItemModel>
#include <QTabBar> #include <QTabBar>
#include <QTabWidget> #include <QTabWidget>
#include <QTimer>
#include <QUdpSocket>
#include <QWidget>
#include <vector>
#include <windows.h> #include <windows.h>
#include <QDir>
#define cmdLength 44 #define cmdLength 44
namespace Ui { namespace Ui {
class GDDCCmdDlg; class GDDCCmdDlg;
} }
class GDDCCmdDlg : public QWidget class GDDCCmdDlg : public QWidget {
{ Q_OBJECT
Q_OBJECT
public:
explicit GDDCCmdDlg(QWidget *parent = nullptr);
~GDDCCmdDlg();
//private:
public: public:
Ui::GDDCCmdDlg *ui; explicit GDDCCmdDlg(QWidget *parent = nullptr);
~GDDCCmdDlg();
// private:
private:
Ui::GDDCCmdDlg *ui;
public: public:
void initParam(); //初始化参数 void initParam(); // 初始化参数
public: public:
QByteArray m_DCcmdBuffer;//存储吊舱控制指令 QByteArray m_DCcmdBuffer; // 存储吊舱控制指令
std::byte TJDCCmdBuffer[10]; std::byte TJDCCmdBuffer[10];
void UpdateDataTJDC(); void UpdateDataTJDC();
void clearTJDCCmdBuffer(); void clearTJDCCmdBuffer();
int sendTimes;//计划发送次数 int sendTimes; // 计划发送次数
void sendCurDate(std::byte *,int);//发送当前数据:内容,发送次数 void sendCurDate(std::byte *, int); // 发送当前数据:内容,发送次数
bool pointSelectionTracking = false; //选点跟踪 bool pointSelectionTracking = false; // 选点跟踪
bool param_pushButton_3_9; bool param_pushButton_3_9;
int paramDigitalZoom;//电子放大参数 int paramDigitalZoom; // 电子放大参数
bool paramIsFrame; //是否是框架/陀螺校准 bool paramIsFrame; // 是否是框架/陀螺校准
bool detectionAreaSetting;//检测区域设置 bool detectionAreaSetting; // 检测区域设置
void setTabWidgetGeometry(int, int, int, int); // 设置tabwidget的几何位置
void setAIDetcLineEditText(QString, QString); // 设置AI监测lineEdit的内容
private slots: private slots:
/*系统控制*/ /*系统控制*/
void on_pushButton_11_pressed(); void on_pushButton_11_pressed();
void on_pushButton_11_released(); void on_pushButton_11_released();
void on_pushButton_1_1_pressed(); void on_pushButton_1_1_pressed();
void on_pushButton_1_1_released(); void on_pushButton_1_1_released();
void on_pushButton_1_2_pressed(); void on_pushButton_1_2_pressed();
void on_pushButton_1_2_released(); void on_pushButton_1_2_released();
void on_pushButton_1_3_pressed(); void on_pushButton_1_3_pressed();
void on_pushButton_1_3_released(); void on_pushButton_1_3_released();
void on_pushButton_1_4_pressed(); void on_pushButton_1_4_pressed();
void on_pushButton_1_4_released(); void on_pushButton_1_4_released();
/*载荷公用*/ /*载荷公用*/
void on_pushButton_2_1_pressed(); void on_pushButton_2_1_pressed();
void on_pushButton_2_1_released(); void on_pushButton_2_1_released();
void on_pushButton_2_2_pressed(); void on_pushButton_2_2_pressed();
void on_pushButton_2_2_released(); void on_pushButton_2_2_released();
void on_pushButton_2_3_pressed(); void on_pushButton_2_3_pressed();
void on_pushButton_2_3_released(); void on_pushButton_2_3_released();
void on_pushButton_2_4_pressed(); void on_pushButton_2_4_pressed();
void on_pushButton_2_4_released(); void on_pushButton_2_4_released();
void on_pushButton_2_5_pressed(); void on_pushButton_2_5_pressed();
void on_pushButton_2_5_released(); void on_pushButton_2_5_released();
void on_pushButton_2_6_pressed(); void on_pushButton_2_6_pressed();
void on_pushButton_2_6_released(); void on_pushButton_2_6_released();
void on_pushButton_2_7_pressed(); void on_pushButton_2_7_pressed();
void on_pushButton_2_7_released(); void on_pushButton_2_7_released();
void on_pushButton_2_8_pressed(); void on_pushButton_2_8_pressed();
void on_pushButton_2_8_released(); void on_pushButton_2_8_released();
void on_pushButton_2_9_pressed(); void on_pushButton_2_9_pressed();
void on_pushButton_2_9_released(); void on_pushButton_2_9_released();
void on_pushButton_2_10_pressed(); void on_pushButton_2_10_pressed();
void on_pushButton_2_10_released(); void on_pushButton_2_10_released();
void on_pushButton_2_11_pressed(); void on_pushButton_2_11_pressed();
void on_pushButton_2_11_released(); void on_pushButton_2_11_released();
void on_pushButton_2_12_pressed(); void on_pushButton_2_12_pressed();
void on_pushButton_2_12_released(); void on_pushButton_2_12_released();
/*可见光*/ /*可见光*/
void on_pushButton_3_1_pressed(); void on_pushButton_3_1_pressed();
void on_pushButton_3_1_released(); void on_pushButton_3_1_released();
void on_pushButton_3_2_pressed(); void on_pushButton_3_2_pressed();
void on_pushButton_3_2_released(); void on_pushButton_3_2_released();
void on_pushButton_3_3_pressed(); void on_pushButton_3_3_pressed();
void on_pushButton_3_3_released(); void on_pushButton_3_3_released();
void on_pushButton_3_4_pressed(); void on_pushButton_3_4_pressed();
void on_pushButton_3_4_released(); void on_pushButton_3_4_released();
void on_pushButton_3_5_pressed(); void on_pushButton_3_5_pressed();
void on_pushButton_3_5_released(); void on_pushButton_3_5_released();
void on_pushButton_3_6_pressed(); void on_pushButton_3_6_pressed();
void on_pushButton_3_6_released(); void on_pushButton_3_6_released();
void on_pushButton_3_7_pressed(); void on_pushButton_3_7_pressed();
void on_pushButton_3_7_released(); void on_pushButton_3_7_released();
void on_pushButton_3_8_pressed(); void on_pushButton_3_8_pressed();
void on_pushButton_3_8_released(); void on_pushButton_3_8_released();
void on_pushButton_3_9_pressed(); void on_pushButton_3_9_pressed();
void on_pushButton_3_9_released(); void on_pushButton_3_9_released();
void on_pushButton_3_10_pressed(); void on_pushButton_3_10_pressed();
void on_pushButton_3_10_released(); void on_pushButton_3_10_released();
void on_pushButton_3_11_pressed(); void on_pushButton_3_11_pressed();
void on_pushButton_3_11_released(); void on_pushButton_3_11_released();
void on_pushButton_3_12_pressed(); void on_pushButton_3_12_pressed();
void on_pushButton_3_12_released(); void on_pushButton_3_12_released();
void on_pushButton_3_13_pressed(); void on_pushButton_3_13_pressed();
void on_pushButton_3_13_released(); void on_pushButton_3_13_released();
void on_pushButton_3_14_pressed(); void on_pushButton_3_14_pressed();
void on_pushButton_3_14_released(); void on_pushButton_3_14_released();
void on_pushButton_3_15_pressed(); void on_pushButton_3_15_pressed();
void on_pushButton_3_15_released(); void on_pushButton_3_15_released();
void on_pushButton_3_16_pressed(); void on_pushButton_3_16_pressed();
void on_pushButton_3_16_released(); void on_pushButton_3_16_released();
// void on_pushButton_3_17_pressed(); // void on_pushButton_3_17_pressed();
// void on_pushButton_3_17_released(); // void on_pushButton_3_17_released();
void on_pushButton_3_18_pressed(); void on_pushButton_3_18_pressed();
void on_pushButton_3_18_released(); void on_pushButton_3_18_released();
void on_pushButton_3_19_pressed(); void on_pushButton_3_19_pressed();
void on_pushButton_3_19_released(); void on_pushButton_3_19_released();
void on_pushButton_3_20_pressed(); void on_pushButton_3_20_pressed();
void on_pushButton_3_20_released(); void on_pushButton_3_20_released();
// void on_pushButton_3_21_pressed(); // void on_pushButton_3_21_pressed();
// void on_pushButton_3_21_released(); // void on_pushButton_3_21_released();
void on_pushButton_3_22_pressed(); void on_pushButton_3_22_pressed();
void on_pushButton_3_22_released(); void on_pushButton_3_22_released();
void on_pushButton_3_23_pressed(); void on_pushButton_3_23_pressed();
void on_pushButton_3_23_released(); void on_pushButton_3_23_released();
void on_pushButton_3_24_pressed(); void on_pushButton_3_24_pressed();
void on_pushButton_3_24_released(); void on_pushButton_3_24_released();
void on_pushButton_3_25_pressed(); void on_pushButton_3_25_pressed();
void on_pushButton_3_25_released(); void on_pushButton_3_25_released();
/*红外*/ /*红外*/
void on_pushButton_4_1_pressed(); void on_pushButton_4_1_pressed();
void on_pushButton_4_1_released(); void on_pushButton_4_1_released();
void on_pushButton_4_2_pressed(); void on_pushButton_4_2_pressed();
void on_pushButton_4_2_released(); void on_pushButton_4_2_released();
void on_pushButton_4_3_pressed(); void on_pushButton_4_3_pressed();
void on_pushButton_4_3_released(); void on_pushButton_4_3_released();
void on_pushButton_4_4_pressed(); void on_pushButton_4_4_pressed();
void on_pushButton_4_4_released(); void on_pushButton_4_4_released();
void on_pushButton_4_5_pressed(); void on_pushButton_4_5_pressed();
void on_pushButton_4_5_released(); void on_pushButton_4_5_released();
void on_pushButton_4_6_pressed(); void on_pushButton_4_6_pressed();
void on_pushButton_4_6_released(); void on_pushButton_4_6_released();
void on_pushButton_4_7_pressed(); void on_pushButton_4_7_pressed();
void on_pushButton_4_7_released(); void on_pushButton_4_7_released();
void on_pushButton_4_8_pressed(); void on_pushButton_4_8_pressed();
void on_pushButton_4_8_released(); void on_pushButton_4_8_released();
void on_pushButton_4_9_pressed(); void on_pushButton_4_9_pressed();
void on_pushButton_4_9_released(); void on_pushButton_4_9_released();
void on_pushButton_4_10_pressed(); void on_pushButton_4_10_pressed();
void on_pushButton_4_10_released(); void on_pushButton_4_10_released();
void on_pushButton_4_11_pressed(); void on_pushButton_4_11_pressed();
void on_pushButton_4_11_released(); void on_pushButton_4_11_released();
void on_pushButton_4_12_pressed(); void on_pushButton_4_12_pressed();
void on_pushButton_4_12_released(); void on_pushButton_4_12_released();
void on_pushButton_4_13_pressed(); void on_pushButton_4_13_pressed();
void on_pushButton_4_13_released(); void on_pushButton_4_13_released();
void on_pushButton_4_14_pressed(); void on_pushButton_4_14_pressed();
void on_pushButton_4_14_released(); void on_pushButton_4_14_released();
void on_pushButton_4_15_pressed(); void on_pushButton_4_15_pressed();
void on_pushButton_4_15_released(); void on_pushButton_4_15_released();
void on_pushButton_4_16_pressed(); void on_pushButton_4_16_pressed();
void on_pushButton_4_16_released(); void on_pushButton_4_16_released();
void on_pushButton_4_17_pressed(); void on_pushButton_4_17_pressed();
void on_pushButton_4_17_released(); void on_pushButton_4_17_released();
void on_pushButton_4_18_pressed(); void on_pushButton_4_18_pressed();
void on_pushButton_4_18_released(); void on_pushButton_4_18_released();
/*云台控制*/ /*云台控制*/
void on_pushButton_5_1_pressed(); void on_pushButton_5_1_pressed();
void on_pushButton_5_1_released(); void on_pushButton_5_1_released();
void on_pushButton_5_2_pressed(); void on_pushButton_5_2_pressed();
void on_pushButton_5_2_released(); void on_pushButton_5_2_released();
void on_pushButton_5_3_pressed(); void on_pushButton_5_3_pressed();
void on_pushButton_5_3_released(); void on_pushButton_5_3_released();
void on_pushButton_5_4_pressed(); void on_pushButton_5_4_pressed();
void on_pushButton_5_4_released(); void on_pushButton_5_4_released();
void on_pushButton_5_5_pressed(); void on_pushButton_5_5_pressed();
void on_pushButton_5_5_released(); void on_pushButton_5_5_released();
void on_pushButton_5_6_pressed(); void on_pushButton_5_6_pressed();
void on_pushButton_5_6_released(); void on_pushButton_5_6_released();
void on_pushButton_5_7_pressed(); void on_pushButton_5_7_pressed();
void on_pushButton_5_7_released(); void on_pushButton_5_7_released();
void on_pushButton_5_8_pressed(); void on_pushButton_5_8_pressed();
void on_pushButton_5_8_released(); void on_pushButton_5_8_released();
void on_pushButton_5_9_pressed(); void on_pushButton_5_9_pressed();
void on_pushButton_5_9_released(); void on_pushButton_5_9_released();
// void on_pushButton_5_10_pressed(); // void on_pushButton_5_10_pressed();
// void on_pushButton_5_10_released(); // void on_pushButton_5_10_released();
void on_pushButton_5_11_pressed(); void on_pushButton_5_11_pressed();
void on_pushButton_5_11_released(); void on_pushButton_5_11_released();
void on_pushButton_5_12_pressed(); void on_pushButton_5_12_pressed();
void on_pushButton_5_12_released(); void on_pushButton_5_12_released();
void on_pushButton_5_13_pressed(); void on_pushButton_5_13_pressed();
void on_pushButton_5_13_released(); void on_pushButton_5_13_released();
void on_pushButton_5_14_pressed(); void on_pushButton_5_14_pressed();
void on_pushButton_5_14_released(); void on_pushButton_5_14_released();
void on_pushButton_5_15_pressed(); void on_pushButton_5_15_pressed();
void on_pushButton_5_15_released(); void on_pushButton_5_15_released();
void on_radioButton_5_1_clicked();
void on_radioButton_5_2_clicked();
/*AI检测*/ void on_radioButton_5_1_clicked();
void on_pushButton_6_1_pressed(); void on_radioButton_5_2_clicked();
void on_pushButton_6_1_released();
void on_pushButton_6_2_pressed();
void on_pushButton_6_2_released();
void on_pushButton_6_3_pressed();
void on_pushButton_6_3_released();
void on_pushButton_6_4_pressed();
void on_pushButton_6_4_released();
void on_pushButton_6_5_pressed();
void on_pushButton_6_5_released();
void on_pushButton_6_6_pressed();
void on_pushButton_6_6_released();
void on_pushButton_6_7_pressed();
void on_pushButton_6_7_released();
void on_pushButton_6_8_clicked();
/*AI检测*/
void on_pushButton_6_1_pressed();
void on_pushButton_6_1_released();
void on_pushButton_6_2_pressed();
void on_pushButton_6_2_released();
void on_pushButton_6_3_pressed();
void on_pushButton_6_3_released();
void on_pushButton_6_4_pressed();
void on_pushButton_6_4_released();
void on_pushButton_6_5_pressed();
void on_pushButton_6_5_released();
void on_pushButton_6_6_pressed();
void on_pushButton_6_6_released();
void on_pushButton_6_7_pressed();
void on_pushButton_6_7_released();
void on_pushButton_6_8_clicked();
}; };
#endif // GDDCCMDDLG_H #endif // GDDCCMDDLG_H

@ -1,56 +1,55 @@
#ifndef GDDCSET_H #ifndef GDDCSET_H
#define GDDCSET_H #define GDDCSET_H
#include <QWidget> #include "Src/GDDC/structDefineMyslef.h"
#include <QByteArray> #include <QByteArray>
#include <QDir> #include <QDir>
#include <QWidget>
#include <windows.h> #include <windows.h>
#include "Src/GDDC/structDefineMyslef.h"
namespace Ui { namespace Ui {
class GDDCSet; class GDDCSet;
} }
class GDDCSet : public QWidget class GDDCSet : public QWidget {
{ Q_OBJECT
Q_OBJECT
public: public:
explicit GDDCSet(QWidget *parent = nullptr); explicit GDDCSet(QWidget *parent = nullptr);
~GDDCSet(); ~GDDCSet();
public: private:
Ui::GDDCSet *ui; Ui::GDDCSet *ui;
public: public:
void initUDPSocket(); //初始化UDPSocket void initUDPSocket(); // 初始化UDPSocket
void initWindow(); //初始化窗口 void initWindow(); // 初始化窗口
void initParam(); //初始化参数 void initParam(); // 初始化参数
void saveDataToLocalIni(); //保存数据至本地ini文件 void saveDataToLocalIni(); // 保存数据至本地ini文件
QByteArray m_configIniPath; //ini配置文件路径 QByteArray m_configIniPath; // ini配置文件路径
QString m_playURL1; //光电吊舱-视频连接-显示窗口1-URL地址 QString m_playURL1; // 光电吊舱-视频连接-显示窗口1-URL地址
QString m_playURL2; //光电吊舱-视频连接-显示窗口2-URL地址 QString m_playURL2; // 光电吊舱-视频连接-显示窗口2-URL地址
QString m_pushURL; //光电吊舱-推流URL地址 QString m_pushURL; // 光电吊舱-推流URL地址
MyPairNetwork m_myPairNetwork;//网络通信结构体 MyPairNetwork m_myPairNetwork; // 网络通信结构体
signals: signals:
/* int a /* int a
* 11 * 11
* 22 * 22
* 3- * 3-
* 4- * 4-
* 5- * 5-
* 6(1) * 6(1)
* */ * */
void SignalStartConnect(int a); //信号开始连接 void SignalStartConnect(int a); // 信号开始连接
void SignalStopConnect(int a); //信号停止连接 void SignalStopConnect(int a); // 信号停止连接
private slots: private slots:
void on_pushButton_ConnectURL1_clicked(); //视频连接-显示窗口1-连接 void on_pushButton_ConnectURL1_clicked(); // 视频连接-显示窗口1-连接
void on_pushButton_ConnectURL2_clicked(); //视频连接-显示窗口2-连接 void on_pushButton_ConnectURL2_clicked(); // 视频连接-显示窗口2-连接
void on_pushButton_serialControlRefalsh_clicked(); //串口控制-刷新 void on_pushButton_serialControlRefalsh_clicked(); // 串口控制-刷新
void on_pushButton_serialControlConnect_clicked(); //串口控制-连接 void on_pushButton_serialControlConnect_clicked(); // 串口控制-连接
void on_pushButton_NetCtrlConnect_clicked(); //网络控制-连接 void on_pushButton_NetCtrlConnect_clicked(); // 网络控制-连接
void on_pushButton_pushURL_clicked(); //推流 void on_pushButton_pushURL_clicked(); // 推流
}; };
#endif // GDDCSET_H #endif // GDDCSET_H

File diff suppressed because it is too large Load Diff

@ -1,71 +1,70 @@
#ifndef GDDCSTATEINFO_H #ifndef GDDCSTATEINFO_H
#define GDDCSTATEINFO_H #define GDDCSTATEINFO_H
#include <QWidget> #include "basetsd.h"
#include <QUdpSocket>
#include <QHostAddress>
#include <QNetworkDatagram>
#include <QByteArray> #include <QByteArray>
#include <QTimer>
#include <QMouseEvent>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <QHeaderView> #include <QHeaderView>
#include <QHostAddress>
#include <QMouseEvent>
#include <QNetworkDatagram>
#include <QStandardItemModel> #include <QStandardItemModel>
#include "basetsd.h" #include <QTimer>
#include <QUdpSocket>
#include <QWidget>
namespace Ui { namespace Ui {
class GDDCStateInfo; class GDDCStateInfo;
} }
class GDDCStateInfo : public QWidget class GDDCStateInfo : public QWidget {
{ Q_OBJECT
Q_OBJECT
public: public:
explicit GDDCStateInfo(QWidget *parent = nullptr); explicit GDDCStateInfo(QWidget *parent = nullptr);
~GDDCStateInfo(); ~GDDCStateInfo();
public: private:
Ui::GDDCStateInfo *ui; Ui::GDDCStateInfo *ui;
public: public:
void initParam(); //初始化参数 void initParam(); // 初始化参数
public: public:
QStandardItemModel *m_tableModel; // 设置TableView的几何位置
/*数据校验 void setTableViewGeometry(int ax, int ay, int aw, int ah);
*
* QStandardItemModel *m_tableModel;
* 12 /*数据校验
*/ *
bool checkdata(QByteArray,int,int); *
void UDPMessageReceive(QByteArray&,int); //udp数据接收 * 12
typedef union */
{ bool checkdata(QByteArray, int, int);
float float_value; void UDPMessageReceive(QByteArray &, int); // udp数据接收
UINT8 uint8[4]; typedef union {
}packet_uint32_to_float; float float_value;
float m_uint32_to_float(UINT8 value4, UINT8 value3, UINT8 value2, UINT8 value1) UINT8 uint8[4];
{ } packet_uint32_to_float;
packet_uint32_to_float packet; float m_uint32_to_float(UINT8 value4, UINT8 value3, UINT8 value2,
UINT8 value1) {
packet_uint32_to_float packet;
UINT8 buf[4]; memset(buf,0x00,sizeof(buf)); UINT8 buf[4];
buf[0] = (UINT8)((value1) & 0xFF); memset(buf, 0x00, sizeof(buf));
buf[1] = (UINT8)((value2) & 0xFF); buf[0] = (UINT8)((value1) & 0xFF);
buf[2] = (UINT8)((value3) & 0xFF); buf[1] = (UINT8)((value2) & 0xFF);
buf[3] = (UINT8)((value4) & 0xFF); buf[2] = (UINT8)((value3) & 0xFF);
UINT32 uint32 = ((buf[0]<<24) & 0XFFFFFFFF) + ((buf[1]<<16) & 0XFFFFFF) + ((buf[2]<<8) & 0XFFFF) + buf[3]; buf[3] = (UINT8)((value4) & 0xFF);
UINT32 uint32 = ((buf[0] << 24) & 0XFFFFFFFF) +
((buf[1] << 16) & 0XFFFFFF) + ((buf[2] << 8) & 0XFFFF) +
buf[3];
for(UINT8 i = 0; i < 4; i++) for (UINT8 i = 0; i < 4; i++) {
{ packet.uint8[i] = (UINT8)(uint32 >> (i * 8));
packet.uint8[i] = (UINT8)(uint32>>(i*8));
}
//print("modbus_uint32_to_float uint32=%d, value1=%d; value2=%d; float_value = %f;",uint32,value1,value2,packet.float_value);
return packet.float_value;
} }
// print("modbus_uint32_to_float uint32=%d, value1=%d; value2=%d;
// float_value = %f;",uint32,value1,value2,packet.float_value);
return packet.float_value;
}
}; };
#endif // GDDCSTATEINFO_H #endif // GDDCSTATEINFO_H

@ -86,7 +86,6 @@ void GDDCdlg::initParam() {
Is_openVideo = false; Is_openVideo = false;
isCmdPageShow = true; isCmdPageShow = true;
isStatePageShow = true; isStatePageShow = true;
m_DCcmdBuffer.resize(cmdLength);
detectionAreaSetting = false; detectionAreaSetting = false;
connectFlag.resize(12, false); connectFlag.resize(12, false);
} }
@ -197,8 +196,8 @@ void GDDCdlg::mousePressEvent(QMouseEvent *event) {
double b = ui->WgtffmpegVideo->height(); double b = ui->WgtffmpegVideo->height();
double dir = 1920 / a * widgetPoint.rx() - 960; double dir = 1920 / a * widgetPoint.rx() - 960;
double pitch = -(1080 / b * widgetPoint.ry() - 540); double pitch = -(1080 / b * widgetPoint.ry() - 540);
m_GDDCCmdDlg->ui->lineEdit_6_1->setText(QString::number((int)dir)); m_GDDCCmdDlg->setAIDetcLineEditText(QString::number((int)dir),
m_GDDCCmdDlg->ui->lineEdit_6_2->setText(QString::number((int)pitch)); QString::number((int)pitch));
} }
// 目标跟踪 // 目标跟踪
if (m_GDDCCmdDlg->pointSelectionTracking == true) { if (m_GDDCCmdDlg->pointSelectionTracking == true) {
@ -221,15 +220,15 @@ void GDDCdlg::mousePressEvent(QMouseEvent *event) {
buffer[9] = (std::byte)0x00; buffer[9] = (std::byte)0x00;
// 发送5次 // 发送5次
sendCurDate(buffer, 3); m_GDDCCmdDlg->sendCurDate(buffer, 3);
} }
} }
} }
// 鼠标移动 // 鼠标移动
void GDDCdlg::mouseMoveEvent(QMouseEvent *event) { void GDDCdlg::mouseMoveEvent(QMouseEvent *event) {
if (m_GDDCCmdDlg->detectionAreaSetting == true) { if (m_GDDCCmdDlg->detectionAreaSetting == true) {
qDebug() << this->geometry().x(); // qDebug() << this->geometry().x();
qDebug() << this->geometry().y(); // qDebug() << this->geometry().y();
QPointF sPoint1 = event->globalPosition(); QPointF sPoint1 = event->globalPosition();
// qDebug()<<"相对于屏幕坐标1:"<<"("<<sPoint1.rx()<<","<<sPoint1.ry()<<")"; // qDebug()<<"相对于屏幕坐标1:"<<"("<<sPoint1.rx()<<","<<sPoint1.ry()<<")";
@ -247,8 +246,8 @@ void GDDCdlg::mouseMoveEvent(QMouseEvent *event) {
double b = ui->WgtffmpegVideo->height(); double b = ui->WgtffmpegVideo->height();
double dir = 1920 / a * widgetPoint.rx() - 960; double dir = 1920 / a * widgetPoint.rx() - 960;
double pitch = -(1080 / b * widgetPoint.ry() - 540); double pitch = -(1080 / b * widgetPoint.ry() - 540);
m_GDDCCmdDlg->ui->lineEdit_6_1->setText(QString::number((int)dir)); m_GDDCCmdDlg->setAIDetcLineEditText(QString::number((int)dir),
m_GDDCCmdDlg->ui->lineEdit_6_2->setText(QString::number((int)pitch)); QString::number((int)pitch));
} }
} }
// 区域重绘 // 区域重绘
@ -284,8 +283,7 @@ void GDDCdlg::resizeUI() {
} }
m_GDDCCmdDlg->setGeometry(0, GDDCPageHeight - cmdAreaHeight, m_GDDCCmdDlg->setGeometry(0, GDDCPageHeight - cmdAreaHeight,
(int)cmdAreaWidth, (int)cmdAreaHeight); (int)cmdAreaWidth, (int)cmdAreaHeight);
m_GDDCCmdDlg->ui->tabWidget->setGeometry(0, 0, (int)cmdAreaWidth, m_GDDCCmdDlg->setTabWidgetGeometry(0, 0, cmdAreaWidth, cmdAreaHeight);
(int)cmdAreaHeight);
/*********状态区位置和大小设置***********/ /*********状态区位置和大小设置***********/
double stateAreaHeight = GDDCPageHeight; double stateAreaHeight = GDDCPageHeight;
@ -297,8 +295,7 @@ void GDDCdlg::resizeUI() {
} }
m_GDDCStateDlg->setGeometry(GDDCPageWidth - stateAreaWidth, 0, stateAreaWidth, m_GDDCStateDlg->setGeometry(GDDCPageWidth - stateAreaWidth, 0, stateAreaWidth,
stateAreaHeight); stateAreaHeight);
m_GDDCStateDlg->ui->tableViewShowIState->setGeometry(0, 0, stateAreaWidth, m_GDDCStateDlg->setTableViewGeometry(0, 0, stateAreaWidth, stateAreaHeight);
stateAreaHeight);
/*******视频区位置和大小设置********/ /*******视频区位置和大小设置********/
double VideoAreaHeight = GDDCPageHeight - cmdAreaHeight; // 视频区高度 double VideoAreaHeight = GDDCPageHeight - cmdAreaHeight; // 视频区高度
@ -339,12 +336,12 @@ void GDDCdlg::resizeUI() {
// 定时器处理 // 定时器处理
void GDDCdlg::GDDCControlTimeOut() { void GDDCdlg::GDDCControlTimeOut() {
if (sendTimes > 0) { if (m_GDDCCmdDlg->sendTimes > 0) {
sendTimes -= 1; m_GDDCCmdDlg->sendTimes -= 1;
// UDP控制 // UDP控制
if (connectFlag[3]) { if (connectFlag[3]) {
udpSocket->writeDatagram(m_DCcmdBuffer, udpSocket->writeDatagram(m_GDDCCmdDlg->m_DCcmdBuffer,
m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(), m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(),
m_DlgGDDCSet->m_myPairNetwork.getRemotePort()); m_DlgGDDCSet->m_myPairNetwork.getRemotePort());
} }
@ -352,15 +349,14 @@ void GDDCdlg::GDDCControlTimeOut() {
// 串口控制 // 串口控制
if (sendTimes == 0) { if (m_GDDCCmdDlg->sendTimes == 0) {
clearTJDCCmdBuffer(); m_GDDCCmdDlg->clearTJDCCmdBuffer();
} }
} else { } else {
UpdateDataTJDC(); m_GDDCCmdDlg->UpdateDataTJDC();
// UDP控制 // UDP控制
if (connectFlag[3]) { if (connectFlag[3]) {
udpSocket->writeDatagram(m_DCcmdBuffer, udpSocket->writeDatagram(m_GDDCCmdDlg->m_DCcmdBuffer,
m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(), m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(),
m_DlgGDDCSet->m_myPairNetwork.getRemotePort()); m_DlgGDDCSet->m_myPairNetwork.getRemotePort());
} }
@ -371,24 +367,6 @@ void GDDCdlg::GDDCControlTimeOut() {
} }
} }
// 更新m_DCcmdBuffer
void GDDCdlg::UpdateDataTJDC() {
m_GDDCCmdDlg->UpdateDataTJDC();
m_DCcmdBuffer = m_GDDCCmdDlg->m_DCcmdBuffer;
}
// 赋值后清空TJDCCmdBuffer
void GDDCdlg::clearTJDCCmdBuffer() { m_GDDCCmdDlg->clearTJDCCmdBuffer(); }
// 设置发送数据和次数
void GDDCdlg::sendCurDate(std::byte *buffer, int num) {
sendTimes = num;
for (int i = 0; i < 10; ++i) {
m_GDDCCmdDlg->TJDCCmdBuffer[i] = buffer[i];
}
UpdateDataTJDC();
}
// 播放视频1 // 播放视频1
void GDDCdlg::startConnectURL1() { void GDDCdlg::startConnectURL1() {
if (!connectFlag[0]) { if (!connectFlag[0]) {

@ -1,26 +1,26 @@
#ifndef GDDCDLG_H #ifndef GDDCDLG_H
#define GDDCDLG_H #define GDDCDLG_H
#include <QWidget> #include "Src/GDDC/gddcSet.h"
#include <QUdpSocket> // #include "Src/Video/cffmpeg_decode.h"
#include "gddcCmdDlg.h" //吊舱控制对话框
#include <QByteArray>
#include <QHeaderView>
#include <QHostAddress> #include <QHostAddress>
#include <QMouseEvent>
#include <QNetworkDatagram> #include <QNetworkDatagram>
#include <QByteArray> #include <QStandardItemModel>
#include <QTimer> #include <QTimer>
#include <QMouseEvent> #include <QUdpSocket>
#include <QWidget>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <string> #include <string>
#include "Src/Video/cffmpeg_decode.h"
#include "Src/GDDC/gddcSet.h"
#include <vector> #include <vector>
#include <QHeaderView> // #include "ui_gddcCmdDlg.h" //吊舱控制对话框ui
#include <QStandardItemModel> #include "gddcStateInfo.h" //吊舱状态信息显示对话框
#include "gddcCmdDlg.h" //吊舱控制对话框 // #include "ui_gddcStateInfo.h" //吊舱状态信息显示对话框
#include "ui_gddcCmdDlg.h" //吊舱控制对话框ui // #include "ui_gddcSet.h"
#include "gddcStateInfo.h" //吊舱状态信息显示对话框
#include "ui_gddcStateInfo.h" //吊舱状态信息显示对话框
#include "ui_gddcSet.h"
#include "QProcess" #include "QProcess"
#include <QThread> #include <QThread>
#define cmdLength 44 #define cmdLength 44
@ -28,76 +28,73 @@ namespace Ui {
class GDDCdlg; class GDDCdlg;
} }
class GDDCdlg : public QWidget class GDDCdlg : public QWidget {
{ Q_OBJECT
Q_OBJECT
public: public:
explicit GDDCdlg(QWidget *parent = nullptr); explicit GDDCdlg(QWidget *parent = nullptr);
~GDDCdlg(); ~GDDCdlg();
private: private:
Ui::GDDCdlg *ui; Ui::GDDCdlg *ui;
QTimer *GDDCControlTimer; QTimer *GDDCControlTimer;
protected: protected:
void resizeEvent(QResizeEvent *event); void resizeEvent(QResizeEvent *event);
public: public:
void initWindow(); //初始化窗口 void initWindow(); // 初始化窗口
void initParam(); //初始化参数 void initParam(); // 初始化参数
void initSignalSlot(); //初始化信号与槽 void initSignalSlot(); // 初始化信号与槽
void resizeUI(); //重新设置布局 void resizeUI(); // 重新设置布局
GDDCSet *m_DlgGDDCSet; //光电吊舱设置对话框 GDDCSet *m_DlgGDDCSet; // 光电吊舱设置对话框
GDDCCmdDlg *m_GDDCCmdDlg; //光电吊舱控制对话框 GDDCCmdDlg *m_GDDCCmdDlg; // 光电吊舱控制对话框
GDDCStateInfo *m_GDDCStateDlg;//光电吊舱状态数据对话框 GDDCStateInfo *m_GDDCStateDlg; // 光电吊舱状态数据对话框
public: public:
QByteArray m_DCcmdBuffer;//存储吊舱控制指令 // socket对象
void UpdateDataTJDC(); QUdpSocket *udpSocket;
void clearTJDCCmdBuffer(); // QString RemoteIP; //目标IP
int sendTimes;//计划发送次数 // QHostAddress RemoteAddr; //目标地址
void sendCurDate(std::byte *,int);//发送当前数据:内容,发送次数 // quint16 RemotePort; //目标port
//socket对象 QString localIP; // 本地IP
QUdpSocket *udpSocket; QHostAddress localAddr; // 本地地址
// QString RemoteIP; //目标IP quint16 localPort; // 本地port
// QHostAddress RemoteAddr; //目标地址 QProcess *process; // 执行CMD
// quint16 RemotePort; //目标port QThread workerThread; // 线程
QString localIP; //本地IP
QHostAddress localAddr; //本地地址 // bool eventFilter(QObject *,QEvent *); //事件过滤器
quint16 localPort; //本地port void mousePressEvent(QMouseEvent *event); // 事件过滤器
QProcess* process; //执行CMD void mouseMoveEvent(QMouseEvent *event); // 事件过滤器
QThread workerThread; //线程
//bool eventFilter(QObject *,QEvent *); //事件过滤器 void startConnectURL1();
void mousePressEvent(QMouseEvent *event); //事件过滤器 void stopConnectURL1();
void mouseMoveEvent(QMouseEvent *event); //事件过滤器 void startConnectURL2();
void stopConnectURL2();
void startConnectSerialCtrl();
void stopConnectSerialCtrl();
void startConnectUDPCtrl();
void stopConnectUDPCtrl();
void startConnectTCPCtrl();
void stopConnectTCPCtrl();
void startPushURL();
void stopPushURL();
void startConnectURL1();
void stopConnectURL1();
void startConnectURL2();
void stopConnectURL2();
void startConnectSerialCtrl();
void stopConnectSerialCtrl();
void startConnectUDPCtrl();
void stopConnectUDPCtrl();
void startConnectTCPCtrl();
void stopConnectTCPCtrl();
void startPushURL();
void stopPushURL();
public: public:
bool pointSelectionTracking; //选点跟踪 bool pointSelectionTracking; // 选点跟踪
bool Is_openVideo; //视频是否已打开,默认未打开 bool Is_openVideo; // 视频是否已打开,默认未打开
std::vector<bool> connectFlag; // 0视频流11视频流22串口通信3网口通信 std::vector<bool> connectFlag; // 0视频流11视频流22串口通信3网口通信
bool isCmdPageShow; //控制页是否显示 bool isCmdPageShow; // 控制页是否显示
bool isStatePageShow; //状态页是否显示 bool isStatePageShow; // 状态页是否显示
bool detectionAreaSetting; //检测区域设置 bool detectionAreaSetting; // 检测区域设置
public slots: public slots:
void GDDCControlTimeOut(); void GDDCControlTimeOut();
void startConnect(int); //开始连接 void startConnect(int); // 开始连接
void stopConnect(int); //停止连接 void stopConnect(int); // 停止连接
void UDPMessageReceive(); //udp数据接收 void UDPMessageReceive(); // udp数据接收
void pushButtonSet_clicked(); void pushButtonSet_clicked();
void pushButShowCmdPage_clicked(); void pushButShowCmdPage_clicked();
void pushButShowStatePage_clicked(); void pushButShowStatePage_clicked();
}; };
#endif // GDDCDLG_H #endif // GDDCDLG_H

Loading…
Cancel
Save