diff --git a/Src/GDDC/gddcCmdDlg.cpp b/Src/GDDC/gddcCmdDlg.cpp
index 13d0484..ced0e21 100644
--- a/Src/GDDC/gddcCmdDlg.cpp
+++ b/Src/GDDC/gddcCmdDlg.cpp
@@ -348,7 +348,7 @@ void GDDCCmdDlg::on_pushButton_3_4_released() {
clearTJDCCmdBuffer();
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x00;
- sendCurDate(TJDCCmdBuffer, 1);
+ sendCurDate(TJDCCmdBuffer, 3);
}
// 变倍-
diff --git a/Src/GDDC/gddcCmdDlg.ui b/Src/GDDC/gddcCmdDlg.ui
index fd9a675..a195384 100644
--- a/Src/GDDC/gddcCmdDlg.ui
+++ b/Src/GDDC/gddcCmdDlg.ui
@@ -97,7 +97,7 @@
174
150
- 161
+ 168
106
diff --git a/Src/GDDC/gddcStateInfo.cpp b/Src/GDDC/gddcStateInfo.cpp
index a237412..70680e8 100644
--- a/Src/GDDC/gddcStateInfo.cpp
+++ b/Src/GDDC/gddcStateInfo.cpp
@@ -584,9 +584,9 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da, int size) {
}
bool GDDCStateInfo::checkdata(QByteArray buffer, int length, int type) {
- // if (length != 64) {
- // return false;
- // }
+ if (length < 64) {
+ return false;
+ }
if ((buffer.at(0) != '\xFC') || (buffer.at(1) != '\x2C') ||
buffer.at(63) != '\xF0') {
return false;
diff --git a/Src/GDDC/gddcdlg.cpp b/Src/GDDC/gddcdlg.cpp
index 58cb8eb..d316c0c 100644
--- a/Src/GDDC/gddcdlg.cpp
+++ b/Src/GDDC/gddcdlg.cpp
@@ -11,6 +11,7 @@
#include
#include
#include "ui_gddcdlg.h"
+#include
#pragma comment(lib, "Wtsapi32.lib")
using namespace std;
@@ -311,11 +312,34 @@ void GDDCdlg::mouseMoveEvent(QMouseEvent *event) {
QPointF diff = event->pos() - _dragStartPositon;
qDebug() << "x:" << diff.x() <<"y:" <setMoveParm(diff);
- _moveFlag = true;
- firstLocation->move((_dragStartPositon - QPoint(firstLocation->width()/2, firstLocation->height()/2)).toPoint());
- lastLocation->move(event->pos() - QPoint(lastLocation->width() / 2, lastLocation->height() / 2));
- firstLocation->show();
- lastLocation->show();
+
+ if(diff.x() > 5 || diff.y() >5)//像素点超过5ptx才算移动,否则为跟踪
+ {
+ _moveFlag = true;
+ firstLocation->move((_dragStartPositon - QPoint(firstLocation->width()/2, firstLocation->height()/2)).toPoint());
+ lastLocation->move(event->pos() - QPoint(lastLocation->width() / 2, lastLocation->height() / 2));
+ firstLocation->show();
+ lastLocation->show();
+ }
+
+ QPointF widgetPos = mapFromGlobal(event->globalPosition());
+
+ //如果移动的时候超过了画面显示区域,则自动退出伺服控制
+ if(!ui->WgtffmpegVideo->rect().contains(widgetPos.toPoint()))
+ {
+ _moveFlag = false;
+ std::byte buffer[10] = {static_cast(0)};
+ buffer[5] = (std::byte)0x70;
+ buffer[6] = (std::byte)0x00;
+ buffer[7] = (std::byte)0x00;
+ buffer[8] = (std::byte)0x00;
+ buffer[9] = (std::byte)0x00;
+
+ // 发送3次
+ m_GDDCCmdDlg->sendCurDate(buffer, 3);
+ firstLocation->hide();
+ lastLocation->hide();
+ }
}
}
@@ -326,7 +350,7 @@ void GDDCdlg::mouseReleaseEvent(QMouseEvent *event)
if(event->button() == Qt::LeftButton && _moveFlag)
{
_moveFlag = false;
- std::byte buffer[10];
+ std::byte buffer[10] = {static_cast(0)};
buffer[5] = (std::byte)0x70;
buffer[6] = (std::byte)0x00;
buffer[7] = (std::byte)0x00;
diff --git a/Src/HomePage/deviceStateDlg.cpp b/Src/HomePage/deviceStateDlg.cpp
index edf6d3e..6faf036 100644
--- a/Src/HomePage/deviceStateDlg.cpp
+++ b/Src/HomePage/deviceStateDlg.cpp
@@ -101,6 +101,8 @@ void deviceStateDlg::initParam() {
cmdlist[2] << "/c" << "ping" << "www.baidu.com -n 2";
cmdlist[3] << "/c" << "ping" << "www.baidu.com -n 2";
cmdlist[4] << "/c" << "ping" << "www.baidu.com -n 2";
+ cmdlist[5] << "/c" << "ping" << "www.baidu.com -n 2";
+ cmdlist[6] << "/c" << "ping" << "www.baidu.com -n 2";
startNetDetn();
}
@@ -148,6 +150,22 @@ void deviceStateDlg::receiveResult(int id, QString result,QString delay) {
}
ui->pushButton_state_3DCamra->setToolTip(delay);
break;
+ case 5:
+ if (result == "在线") {
+ ui->pushButton_state_rescue->setIcon(m_greenIcon);
+ } else {
+ ui->pushButton_state_rescue->setIcon(m_redIcon);
+ }
+ ui->pushButton_state_rescue->setToolTip(delay);
+ break;
+ case 6:
+ if (result == "在线") {
+ ui->pushButton_state_PDT->setIcon(m_greenIcon);
+ } else {
+ ui->pushButton_state_PDT->setIcon(m_redIcon);
+ }
+ ui->pushButton_state_PDT->setToolTip(delay);
+ break;
default:
break;
}
@@ -191,6 +209,20 @@ void deviceStateDlg::setDeviceIP(int id, settingStruct param) {
cmdlist[4] << strIp;
m_networkDetection[4]->DyChangeCmdList(cmdlist[4]); // 更新到网络检测线程
break;
+ case HomePageSetingWidget::RescueLoading:
+ strIp = stringIPSelect(param.url);
+ strIp="/c ping " + strIp + " -n 1";
+ cmdlist[5].clear();
+ cmdlist[5] << strIp;
+ m_networkDetection[5]->DyChangeCmdList(cmdlist[5]); // 更新到网络检测线程
+ break;
+ case HomePageSetingWidget::PdtLoading:
+ strIp = stringIPSelect(param.url);
+ strIp="/c ping " + strIp + " -n 1";
+ cmdlist[6].clear();
+ cmdlist[6] << strIp;
+ m_networkDetection[6]->DyChangeCmdList(cmdlist[6]); // 更新到网络检测线程
+ break;
default:
break;
}
@@ -228,11 +260,13 @@ QString deviceStateDlg::stringIPSelect(QString str) {
void deviceStateDlg::setUrl(
std::unordered_map &urlMap) {
m_urlMap = urlMap;
- setDeviceIP(HomePageSetingWidget::GDDC, m_urlMap["光电吊舱"]);
- setDeviceIP(HomePageSetingWidget::L_Link, m_urlMap["L链"]);
- setDeviceIP(HomePageSetingWidget::Adhoc_Network, m_urlMap["宽带自组网"]);
- setDeviceIP(HomePageSetingWidget::Satelite_Comm, m_urlMap["机载卫通"]);
- setDeviceIP(HomePageSetingWidget::ModelCamera, m_urlMap["三维建模"]);
+ setDeviceIP(HomePageSetingWidget::GDDC, m_urlMap["Pod"]);
+ setDeviceIP(HomePageSetingWidget::L_Link, m_urlMap["L-Link"]);
+ setDeviceIP(HomePageSetingWidget::Adhoc_Network, m_urlMap["HocNetwork"]);
+ setDeviceIP(HomePageSetingWidget::Satelite_Comm, m_urlMap["SatelliteComm"]);
+ setDeviceIP(HomePageSetingWidget::ModelCamera, m_urlMap["ModelCamera"]);
+ setDeviceIP(HomePageSetingWidget::RescueLoading, m_urlMap["RescueLoading"]);
+ setDeviceIP(HomePageSetingWidget::PdtLoading, m_urlMap["PdtLoading"]);
}
// 开始网络监测
void deviceStateDlg::startNetDetn() {
diff --git a/Src/HomePage/deviceStateDlg.h b/Src/HomePage/deviceStateDlg.h
index 99eb15a..eec4fa2 100644
--- a/Src/HomePage/deviceStateDlg.h
+++ b/Src/HomePage/deviceStateDlg.h
@@ -7,7 +7,7 @@
#include
#include
#include
-#define deviceNum 5
+#define deviceNum 7
namespace Ui {
class deviceStateDlg;
}
@@ -52,6 +52,8 @@ public:
// 2 自组网
// 3ku卫通
// 4三维相机
+ // 5 搜救载荷
+ // 6 PDT
QStringList cmdlist[deviceNum];
QIcon m_greyIcon,m_greenIcon,m_redIcon;
networkDetection *m_networkDetection[deviceNum];
diff --git a/Src/HomePage/homepagesetingwidget.cpp b/Src/HomePage/homepagesetingwidget.cpp
index faa35d8..cc125fa 100644
--- a/Src/HomePage/homepagesetingwidget.cpp
+++ b/Src/HomePage/homepagesetingwidget.cpp
@@ -22,6 +22,8 @@ void HomePageSetingWidget::init() {
_lLink.url = _configIni->value("L-Link/IP").toString();
_adHocNetwork.url = _configIni->value("HocNetwork/IP").toString();
_satelliteComm.url = _configIni->value("SatelliteComm/IP").toString();
+ _rescueLoad.url = _configIni->value("RescueLoading/IP").toString();
+ _pdtLoad.url = _configIni->value("PdtLoading/IP").toString();
_ModelCamera.net.remoteIp =
_configIni->value("ModelCamera/remoteIp").toString();
_ModelCamera.net.remotePort =
@@ -37,12 +39,16 @@ void HomePageSetingWidget::init() {
_allParamMap.insert({"HocNetwork", _adHocNetwork});
_allParamMap.insert({"SatelliteComm", _satelliteComm});
_allParamMap.insert({"ModelCamera", _ModelCamera});
+ _allParamMap.insert({"RescueLoading", _rescueLoad});
+ _allParamMap.insert({"PdtLoading", _pdtLoad});
// 显示到配置页面
ui->GDDCLineEdit->setText(_GDDC.net.remoteIp);
ui->lLinkLineEdit->setText(_lLink.url);
ui->netLineEdit->setText(_adHocNetwork.url);
ui->sateliteLineEdit->setText(_satelliteComm.url);
+ ui->RescueLineEdit->setText(_rescueLoad.url);
+ ui->PdtLineEdit->setText(_pdtLoad.url);
ui->modelCameraLineEditRemoteIp->setText(_ModelCamera.net.remoteIp);
ui->modelCameraLineEditRemotePort->setText(
QString::number(_ModelCamera.net.remotePort));
@@ -84,6 +90,24 @@ void HomePageSetingWidget::on_sateliteButton_clicked() {
_configIni->setValue("SatelliteComm/IP", _satelliteComm.url);
emit sendOneSet(Satelite_Comm, _satelliteComm);
}
+
+//搜救载荷
+void HomePageSetingWidget::on_RescueButton_clicked()
+{
+ // 写参数到配置文件
+ _rescueLoad.url = ui->RescueLineEdit->text();
+ _configIni->setValue("RescueLoading/IP", _rescueLoad.url);
+ emit sendOneSet(RescueLoading, _rescueLoad);
+}
+
+void HomePageSetingWidget::on_PdtButton_clicked()
+{
+ // 写参数到配置文件
+ _pdtLoad.url = ui->PdtLineEdit->text();
+ _configIni->setValue("PdtLoading/IP", _pdtLoad.url);
+ emit sendOneSet(PdtLoading, _pdtLoad);
+}
+
// 三维相机
void HomePageSetingWidget::on_modelCameraButton_clicked() {
// 写参数到配置文件
@@ -106,6 +130,9 @@ void HomePageSetingWidget::on_oneKeyButton_clicked() {
on_netButton_clicked();
on_sateliteButton_clicked();
on_modelCameraButton_clicked();
+ on_sateliteButton_clicked();
+ on_RescueButton_clicked();
+ on_PdtButton_clicked();
}
/*************************************************
* @func getAllParam
@@ -115,3 +142,5 @@ void HomePageSetingWidget::on_oneKeyButton_clicked() {
std::unordered_map HomePageSetingWidget::getAllParam() {
return _allParamMap;
}
+
+
diff --git a/Src/HomePage/homepagesetingwidget.h b/Src/HomePage/homepagesetingwidget.h
index 0c8b0e7..0614656 100644
--- a/Src/HomePage/homepagesetingwidget.h
+++ b/Src/HomePage/homepagesetingwidget.h
@@ -23,7 +23,9 @@ private:
settingStruct _GDDC; // 光电吊舱
settingStruct _lLink; // L链
settingStruct _adHocNetwork; // 自组网
- settingStruct _satelliteComm; // PDT
+ settingStruct _satelliteComm; // 卫通
+ settingStruct _rescueLoad; // 搜救载荷
+ settingStruct _pdtLoad; // PDT
settingStruct _ModelCamera; // 三维建模
std::unordered_map _allParamMap; // 存储所有设置信息
public:
@@ -41,7 +43,9 @@ public:
L_Link,
Adhoc_Network,
Satelite_Comm,
- ModelCamera
+ ModelCamera,
+ RescueLoading,
+ PdtLoading
};
private slots:
@@ -50,10 +54,11 @@ private slots:
void on_sateliteButton_clicked();
void on_oneKeyButton_clicked();
void on_GDDCPushButton_clicked();
-
void on_modelCameraButton_clicked();
+ void on_RescueButton_clicked();
+ void on_PdtButton_clicked();
-signals:
+ signals:
// 发送信号给网页显示
void sendOneSet(unsigned char, settingStruct);
};
diff --git a/Src/HomePage/homepagesetingwidget.ui b/Src/HomePage/homepagesetingwidget.ui
index deb4aa4..58aafa3 100644
--- a/Src/HomePage/homepagesetingwidget.ui
+++ b/Src/HomePage/homepagesetingwidget.ui
@@ -7,14 +7,14 @@
0
0
725
- 532
+ 611
设置
-
+
:/res/settings.png:/res/settings.png
@@ -222,6 +222,9 @@
L链
+ -
+
+
-
@@ -229,9 +232,6 @@
- -
-
-
-
-
@@ -281,21 +281,139 @@
-
-
+
- 三维建模
+ 搜救载荷
-
+
+
-
+
+
-
-
+
- 远端IP:
+ IP:
+ -
+
+
-
+
+
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 100
+ 0
+
+
+
+
+ 100
+ 0
+
+
+
+
+ 200
+ 16777215
+
+
+
+ 设置
+
+
+
+
+
+
+
+
+ -
+
+
+ PDT
+
+
-
-
+
+
+ -
+
+
+ IP:
+
+
+
+ -
+
+
-
+
+
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 100
+ 0
+
+
+
+
+ 100
+ 0
+
+
+
+
+ 200
+ 16777215
+
+
+
+ 设置
+
+
+
+
+
+
+
+ -
+
+
+ 三维建模
+
+
-
@@ -303,29 +421,25 @@
- -
-
-
- -
-
+
-
+
- 本地IP:
+ 远端IP:
+ -
+
+
-
- -
-
-
- 本地端口:
-
-
-
-
+ -
+
+
-
-
@@ -371,6 +485,20 @@
+ -
+
+
+ 本地IP:
+
+
+
+ -
+
+
+ 本地端口:
+
+
+
@@ -437,8 +565,6 @@
-
-
-
+
diff --git a/global.cpp b/global.cpp
index a15b1c3..5910a8d 100644
--- a/global.cpp
+++ b/global.cpp
@@ -2,7 +2,7 @@
global::global() {}
-QString g_SoftwareVersion = "版本号:V1.1.0.4_20241226";
+QString g_SoftwareVersion = "版本号:V1.1.0.5_20250207";
NotifyManager *g_notifyManager = nullptr;