优化光电吊舱代码逻辑

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

@ -100,6 +100,16 @@ void GDDCCmdDlg::initParam() {
ui->lineEdit_6_2->setText("540");
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
void GDDCCmdDlg::UpdateDataTJDC() {
/******************模拟发送天进吊舱控制指令************************/

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

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

File diff suppressed because it is too large Load Diff

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

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

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

Loading…
Cancel
Save