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.
PayloadAPP/Src/GDDC/gddcdlg.cpp

1727 lines
40 KiB
C++

#include "gddcdlg.h"
#include "ui_gddcdlg.h"
#include <QDateTime>
#include <QNetworkInterface>
#include <QTabBar>
#include <QTabWidget>
#include <windows.h>
#include <QDir>
#define CONFIG_PATH "config.ini"
GDDCdlg::GDDCdlg(QWidget *parent)
: QWidget(parent)
, ui(new Ui::GDDCdlg)
{
ui->setupUi(this);
initWindow();
initParam();
initSignalSlot();
/*启动定时器*/
GDDCControlTimer = new QTimer();
GDDCControlTimer->setInterval(100);
connect(GDDCControlTimer,&QTimer::timeout,this,[=](){
GDDCControlTimeOut();
});
GDDCControlTimer->start();
}
GDDCdlg::~GDDCdlg()
{
//关闭定时器
GDDCControlTimer->stop();
//停止所有通信
stopConnectURL1();
stopConnectURL2();
stopConnectSerialCtrl();
stopConnectUDPCtrl();
stopConnectTCPCtrl();
delete ui;
}
//初始化window
void GDDCdlg::initWindow()
{
QPalette palette;
//设置主窗口背景颜色
8 months ago
palette.setColor(QPalette::Window,QColor(50, 50, 50));
this->setPalette(palette);
//嵌入到主窗口
//int m_height=this->size().rheight();
//int m_width = (m_height*16)/9;
//ui->WgtffmpegVideo->resize(m_width,m_height);
// ui->WgtffmpegVideo->move();
setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);
hide();
m_DlgGDDCSet = new GDDCSet();
}
//初始化参数
void GDDCdlg::initParam()
{
m_DCcmdBuffer.resize(cmdLength);
memset(TJDCCmdBuffer,0,10);
/*系统控制*/
ui->comboBox_1_1->addItem("自定义模板");
ui->comboBox_1_1->addItem("16*16");
ui->comboBox_1_1->addItem("32*32");
ui->comboBox_1_1->addItem("64*64");
ui->comboBox_1_1->addItem("128*128");
ui->comboBox_1_2->addItem("红外");
ui->comboBox_1_2->addItem("可见光");
ui->comboBox_1_2->addItem("上下分屏");
ui->comboBox_1_2->addItem("可见光画中画(暂不支持)");
ui->comboBox_1_2->addItem("红外画中画(暂不支持)");
ui->comboBox_1_2->addItem("左右分屏(暂不支持)");
ui->lineEdit_1_1->setText("24");
ui->lineEdit_1_2->setText("24");
ui->lineEdit_1_3->setText("192");
ui->lineEdit_1_4->setText("168");
ui->lineEdit_1_5->setText("1");
ui->lineEdit_1_6->setText("160");
/*载荷公用*/
ui->comboBox_2_1->addItem("隐藏");
ui->comboBox_2_1->addItem("部分显示");
ui->comboBox_2_1->addItem("全部显示(默认)");
//ui->comboBox_2_1->addItem("OSD显示内容设置");
//ui->comboBox_2_1->addItem("OSD显示颜色和中英文设置");
/*可见光*/
param_pushButton_3_9 = false;
ui->comboBox_3_1->addItem("");
ui->comboBox_3_1->addItem("");
ui->comboBox_3_1->addItem("");
ui->comboBox_3_1->addItem("");
paramDigitalZoom = 0;
ui->lineEdit_3_1->setText("4.3");
/*红外*/
ui->comboBox_4_1->addItem("循环切换");
ui->comboBox_4_1->addItem("白热");
ui->comboBox_4_1->addItem("黑热");
ui->comboBox_4_1->addItem("蓝红黄");
ui->comboBox_4_1->addItem("紫红黄");
ui->comboBox_4_1->addItem("蓝绿红");
ui->comboBox_4_1->addItem("彩虹1");
ui->comboBox_4_1->addItem("彩虹2");
ui->comboBox_4_1->addItem("黑红");
ui->comboBox_4_1->addItem("墨绿红");
ui->comboBox_4_1->addItem("蓝绿红粉");
ui->comboBox_4_1->addItem("混合色");
ui->comboBox_4_1->addItem("红头");
ui->comboBox_4_2->addItem("");
ui->comboBox_4_2->addItem("1");
ui->comboBox_4_2->addItem("2");
ui->comboBox_4_2->addItem("3");
ui->comboBox_4_2->addItem("4");
ui->comboBox_4_2->addItem("5");
ui->comboBox_4_2->addItem("6");
ui->comboBox_4_2->addItem("7");
/*稳定平台*/
ui->comboBox_5_1->addItem("非常慢");
ui->comboBox_5_1->addItem("很慢");
ui->comboBox_5_1->addItem("");
ui->comboBox_5_1->addItem("较慢");
ui->comboBox_5_1->addItem("中等");
ui->comboBox_5_1->addItem("较快");
ui->comboBox_5_1->addItem("");
ui->comboBox_5_1->addItem("很快");
ui->comboBox_5_1->addItem("非常快");
ui->comboBox_5_1->setCurrentIndex(4);
ui->radioButton_5_1->setChecked(true);
paramIsFrame = true;
ui->lineEdit_5_1->setText("100");
ui->lineEdit_5_2->setText("5");
ui->lineEdit_5_3->setText("50");
ui->lineEdit_5_4->setText("50");
/*AI检测*/
ui->comboBox_6_1->addItem("绿框目标");
ui->comboBox_6_1->addItem("下发编号目标");
ui->comboBox_6_2->addItem("红外");
ui->comboBox_6_2->addItem("可见光");
ui->comboBox_6_3->addItem("常规检测");
ui->comboBox_6_3->addItem("兴趣区域检测");
ui->comboBox_6_3->addItem("分块遍历检测");
ui->lineEdit_6_1->setText("960");
ui->lineEdit_6_2->setText("540");
detectionAreaSetting = false;
connectFlag.resize(10,false);
ui->pushButShowCmdArea->setIcon(QIcon(":/res/down.png"));
}
//初始化信号与槽
void GDDCdlg::initSignalSlot()
{
connect(m_DlgGDDCSet,SIGNAL(SignalStartConnect(int)),this,SLOT(startConnect(int)));
connect(m_DlgGDDCSet,SIGNAL(SignalStopConnect(int)),this,SLOT(stopConnect(int)));
}
//槽函数开始连接
void GDDCdlg::startConnect(int type)
{
switch(type)
{
case 1://播放视频1
stopConnectURL2();
startConnectURL1();
break;
case 2://播放视频2
stopConnectURL1();
startConnectURL2();
break;
case 3://串口控制
startConnectSerialCtrl();
break;
case 4://UDP控制
stopConnectTCPCtrl();
startConnectUDPCtrl();
break;
case 5://TCP控制
stopConnectUDPCtrl();
startConnectTCPCtrl();
break;
default:
break;
}
}
//槽函数停止连接
void GDDCdlg::stopConnect(int type)
{
switch(type)
{
case 1:
stopConnectURL1();
break;
case 2:
stopConnectURL2();
break;
case 3:
stopConnectSerialCtrl();
break;
case 4:
stopConnectUDPCtrl();
break;
case 5:
stopConnectTCPCtrl();
break;
default :
break;
}
}
// bool GDDCdlg::eventFilter(QObject *watched, QEvent *event)
// {
// qDebug() << this->geometry().x();
// qDebug() << this->geometry().y();
// QPoint sPoint2=QCursor::pos();
// qDebug()<<"相对于屏幕坐标2:"<<"("<<sPoint2.rx()<<","<<sPoint2.ry()<<")";
// QPoint windowPoint=this->mapFromGlobal(sPoint2);
// qDebug()<<"相对于窗口坐标:"<<"("<<windowPoint.rx()<<","<<windowPoint.ry()<<")";
// return true;
// }
//鼠标左键
void GDDCdlg::mousePressEvent(QMouseEvent *event)
{
//如果鼠标左键按下
if (event->type() == QEvent::MouseButtonPress) {
//AI检测区域设置
if(detectionAreaSetting==true)
{
QPointF sPoint1 = event->globalPosition();
sPoint1 = QCursor::pos();
QPointF widgetPoint = ui->WgtffmpegVideo->mapFromGlobal(sPoint1);
double a = ui->WgtffmpegVideo->width();
double b = ui->WgtffmpegVideo->height();
double dir = 1920/a*widgetPoint.rx()-960;
double pitch = -(1080/b*widgetPoint.ry()-540);
ui->lineEdit_6_1->setText(QString::number((int)dir));
ui->lineEdit_6_2->setText(QString::number((int)pitch));
}
//目标跟踪
if(pointSelectionTracking == true)
{
QPointF sPoint1 = event->globalPosition();
QPointF widgetPoint = ui->WgtffmpegVideo->mapFromGlobal(sPoint1);
double a = ui->WgtffmpegVideo->width();
double b = ui->WgtffmpegVideo->height();
double dir = 1920/a*widgetPoint.rx()-960;
double pitch = -(1080/b*widgetPoint.ry()-540);
std::byte buffer[10];
buffer[0] = (std::byte)0x3A;
buffer[1] = (std::byte)(dir);
buffer[2] = (std::byte)((int)dir>>8);
buffer[3] = (std::byte)pitch;
buffer[4] = (std::byte)((int)pitch>>8);
buffer[5] = (std::byte)0x00;
buffer[6] = (std::byte)0x00;
buffer[7] = (std::byte)0x00;
buffer[8] = (std::byte)0x00;
buffer[9] = (std::byte)0x00;
//发送5次
sendCurDate(buffer,3);
}
}
}
//鼠标移动
void GDDCdlg::mouseMoveEvent(QMouseEvent *event)
{
if(detectionAreaSetting==true)
{
qDebug() << this->geometry().x();
qDebug() << this->geometry().y();
QPoint sPoint1=event->globalPos();
//qDebug()<<"相对于屏幕坐标1:"<<"("<<sPoint1.rx()<<","<<sPoint1.ry()<<")";
QPoint sPoint2=QCursor::pos();
//qDebug()<<"相对于屏幕坐标2:"<<"("<<sPoint2.rx()<<","<<sPoint2.ry()<<")";
QPoint windowPoint=this->mapFromGlobal(sPoint2);
//qDebug()<<"相对于窗口坐标:"<<"("<<windowPoint.rx()<<","<<windowPoint.ry()<<")";
QPoint widgetPoint=ui->WgtffmpegVideo->mapFromGlobal(sPoint1);
//qDebug()<<"相对于控件坐标:"<<"("<<widgetPoint.rx()<<","<<widgetPoint.ry()<<")";
//更新LineEdit信息
double a = ui->WgtffmpegVideo->width();
double b = ui->WgtffmpegVideo->height();
double dir = 1920/a*widgetPoint.rx()-960;
double pitch = -(1080/b*widgetPoint.ry()-540);
ui->lineEdit_6_1->setText(QString::number((int)dir));
ui->lineEdit_6_2->setText(QString::number((int)pitch));
}
}
//区域重绘
void GDDCdlg::resizeEvent(QResizeEvent *event)
{
resizeUI(); //重新设置布局
}
//重新设置布局
void GDDCdlg::resizeUI()
{
/* -------------->x
* | (0,0)
* |
* |
* |
* |
* y
*/
double GDDCPageHeight = (double)(this->height());
double GDDCPageWidth = (double)(this->width());
//qDebug()<<"宽度,高度:"<<GDDCPageHeight<<GDDCPageWidth;
/******控制指令区域位置和大小设置*****/
double cmdAreaHeight;
double cmdAreaWidth = GDDCPageWidth;
if(ui->tabWidget->isVisible()){cmdAreaHeight = 250;}
else{cmdAreaHeight = 0;}
ui->tabWidget->setGeometry(0,GDDCPageHeight-cmdAreaHeight,(int)cmdAreaWidth,(int)cmdAreaHeight);
/*******视频区域位置和大小设置********/
double VideoAreaHeight = GDDCPageHeight-cmdAreaHeight; //视频区域高度
double VideoAreaWidth = GDDCPageWidth; //视频区域宽度
//高度值相对比较大
if(VideoAreaHeight*16>VideoAreaWidth*9)
{
double setVideoAreaWidth = VideoAreaWidth;//等于吊舱页面宽度
double setVideoAreaHeight = VideoAreaWidth*9/16;
ui->WgtffmpegVideo->setGeometry(0,0.5*(GDDCPageHeight-cmdAreaHeight-setVideoAreaHeight),(int)setVideoAreaWidth,(int)setVideoAreaHeight);
}
//宽度值相对比较大
else
{
double setVideoAreaHeight = VideoAreaHeight;//等于 吊舱页面高度-控制指令高度
double setVideoAreaWidth = VideoAreaHeight*16/9;
ui->WgtffmpegVideo->setGeometry(0.5*(GDDCPageWidth-setVideoAreaWidth),0,(int)setVideoAreaWidth,(int)setVideoAreaHeight);
}
/**************设置按钮****************/
ui->pushButtonSet->setGeometry(GDDCPageWidth-40,10,40,40);
/**********控制指令区显示隐藏按钮********/
ui->pushButShowCmdArea->setGeometry(GDDCPageWidth*0.5,GDDCPageHeight-cmdAreaHeight-20,20,20);
ui->pushButShowCmdArea->raise();
}
//定时器处理
void GDDCdlg::GDDCControlTimeOut()
{
if(sendTimes>0)
{
sendTimes-=1;
//UDP控制
if(connectFlag[3])
{
udpSocket->writeDatagram(m_DCcmdBuffer,m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(),m_DlgGDDCSet->m_myPairNetwork.getRemotePort());
}
//TCP控制
//串口控制
if(sendTimes==0)
{
clearTJDCCmdBuffer();
}
}
else
{
UpdateDataTJDC();
//UDP控制
if(connectFlag[3])
{
udpSocket->writeDatagram(m_DCcmdBuffer,m_DlgGDDCSet->m_myPairNetwork.getRemoteAddr(),m_DlgGDDCSet->m_myPairNetwork.getRemotePort());
}
//TCP控制
//串口控制
}
}
//更新m_DCcmdBuffer
void GDDCdlg::UpdateDataTJDC()
{
/******************模拟发送天进吊舱控制指令************************/
m_DCcmdBuffer[0] = 0xfb;//帧头
m_DCcmdBuffer[1] = 0x2C;//帧头
m_DCcmdBuffer[2] = (char)TJDCCmdBuffer[0];
m_DCcmdBuffer[3] = (char)TJDCCmdBuffer[1];
m_DCcmdBuffer[4] = (char)TJDCCmdBuffer[2];
m_DCcmdBuffer[5] = (char)TJDCCmdBuffer[3];
m_DCcmdBuffer[6] = (char)TJDCCmdBuffer[4];
for(int i=7;i<13;++i)
{
m_DCcmdBuffer[i] = 0x00;
}
/*精确到毫秒级*/
QDateTime st = QDateTime::currentDateTime();//获取系统当前的时间
//QString formattedDateTime = st.toString("yyyy-MM-dd hh:mm:ss");
int year = st.date().year()-2000;
int month = st.date().month();
int day = st.date().day();
int hour = st.time().hour();
int minute = st.time().minute();
int second = st.time().second();
int msec = st.time().msec();
m_DCcmdBuffer[13] = (char)year;
m_DCcmdBuffer[14] = (char)month;
m_DCcmdBuffer[15] = (char)day;
m_DCcmdBuffer[16] = (char)hour;
m_DCcmdBuffer[17] = (char)minute;
m_DCcmdBuffer[18] = (char)second;
m_DCcmdBuffer[19] = (char)msec;
for(int i=20;i<37;++i)
{
m_DCcmdBuffer[i] = 0x00;
}
m_DCcmdBuffer[37] = (char)TJDCCmdBuffer[5];
m_DCcmdBuffer[38] = (char)TJDCCmdBuffer[6];
m_DCcmdBuffer[39] = (char)TJDCCmdBuffer[7];
m_DCcmdBuffer[40] = (char)TJDCCmdBuffer[8];
m_DCcmdBuffer[41] = (char)TJDCCmdBuffer[9];
char S2 = (char)m_DCcmdBuffer[2];
char S3 = (char)m_DCcmdBuffer[3];
for(int i = 4;i<43;++i)
{
S3 = S3^S2;
S2 = m_DCcmdBuffer[i];
}
m_DCcmdBuffer[42] = S3;
m_DCcmdBuffer[43] = 0xF0;
// QString msg = "12312";//发送的消息内容
// QByteArray str;// = msg.toUtf8();
}
//赋值后清空TJDCCmdBuffer
void GDDCdlg::clearTJDCCmdBuffer()
{
memset(TJDCCmdBuffer,0,sizeof(TJDCCmdBuffer));
}
//设置发送数据和次数
void GDDCdlg::sendCurDate(std::byte *buffer, int num)
{
sendTimes = num;
for(int i=0;i<10;++i)
{
TJDCCmdBuffer[i] = buffer[i];
}
UpdateDataTJDC();
}
//拍一张照 按下
void GDDCdlg::on_pushButton_11_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x32;
}
//松开
void GDDCdlg::on_pushButton_11_released()
{
clearTJDCCmdBuffer();
}
//授时
void GDDCdlg::on_pushButton_1_1_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x20;
}
void GDDCdlg::on_pushButton_1_1_released()
{
clearTJDCCmdBuffer();
}
//目标模板设置
void GDDCdlg::on_pushButton_1_2_pressed()
{
uint chose = ui->comboBox_1_1->currentIndex();
if(chose==0)
{
uint str = ui->lineEdit_1_1->text().toUInt();
uint str2 = ui->lineEdit_1_2->text().toUInt();
TJDCCmdBuffer[0]=(std::byte)0x23;
TJDCCmdBuffer[1]=(std::byte)0x00;
TJDCCmdBuffer[2]=(std::byte)0x00;
TJDCCmdBuffer[3]=(std::byte)str;
TJDCCmdBuffer[4]=(std::byte)str2;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x23;
TJDCCmdBuffer[1]=(std::byte)chose;
}
}
void GDDCdlg::on_pushButton_1_2_released()
{
clearTJDCCmdBuffer();
}
//目标模板设置
void GDDCdlg::on_pushButton_1_3_pressed()
{
uint selection = ui->comboBox_1_2->currentIndex();
TJDCCmdBuffer[0]=(std::byte)0x25;
TJDCCmdBuffer[1]=(std::byte)selection;
}
void GDDCdlg::on_pushButton_1_3_released()
{
clearTJDCCmdBuffer();
}
//吊舱IP设置
void GDDCdlg::on_pushButton_1_4_pressed()
{
uint ip1 = ui->lineEdit_1_3->text().toUInt();
uint ip2 = ui->lineEdit_1_4->text().toUInt();
uint ip3 = ui->lineEdit_1_5->text().toUInt();
uint ip4 = ui->lineEdit_1_6->text().toUInt();
TJDCCmdBuffer[0]=(std::byte)0x29;
TJDCCmdBuffer[1]=(std::byte)ip1;
TJDCCmdBuffer[2]=(std::byte)ip2;
TJDCCmdBuffer[3]=(std::byte)ip3;
TJDCCmdBuffer[4]=(std::byte)ip4;
}
void GDDCdlg::on_pushButton_1_4_released()
{
clearTJDCCmdBuffer();
}
//图像切换
void GDDCdlg::on_pushButton_2_1_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x31;
}
void GDDCdlg::on_pushButton_2_1_released()
{
clearTJDCCmdBuffer();
}
//抓图
void GDDCdlg::on_pushButton_2_2_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x32;
}
void GDDCdlg::on_pushButton_2_2_released()
{
clearTJDCCmdBuffer();
}
//开始连续抓图
void GDDCdlg::on_pushButton_2_3_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x32;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_2_3_released()
{
clearTJDCCmdBuffer();
}
//停止连续抓图
void GDDCdlg::on_pushButton_2_4_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x32;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_2_4_released()
{
clearTJDCCmdBuffer();
}
//选点跟踪
void GDDCdlg::on_pushButton_2_5_pressed()
{
pointSelectionTracking = true;
}
void GDDCdlg::on_pushButton_2_5_released()
{
clearTJDCCmdBuffer();
}
//取消跟踪
void GDDCdlg::on_pushButton_2_6_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x3B;
pointSelectionTracking = false;
}
void GDDCdlg::on_pushButton_2_6_released()
{
clearTJDCCmdBuffer();
}
//开始录像
void GDDCdlg::on_pushButton_2_7_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x33;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_2_7_released()
{
clearTJDCCmdBuffer();
}
//停止录像
void GDDCdlg::on_pushButton_2_8_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x33;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_2_8_released()
{
clearTJDCCmdBuffer();
}
//单次测距
void GDDCdlg::on_pushButton_2_9_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x3D;
}
void GDDCdlg::on_pushButton_2_9_released()
{
clearTJDCCmdBuffer();
}
//开始连续测距
void GDDCdlg::on_pushButton_2_10_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x3E;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_2_10_released()
{
clearTJDCCmdBuffer();
}
//停止连续测距
void GDDCdlg::on_pushButton_2_11_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x3F;
}
void GDDCdlg::on_pushButton_2_11_released()
{
clearTJDCCmdBuffer();
}
//字符叠加设置
void GDDCdlg::on_pushButton_2_12_pressed()
{
uint sel = ui->comboBox_2_1->currentIndex();
TJDCCmdBuffer[0]=(std::byte)0x37;
TJDCCmdBuffer[1]=(std::byte)sel;
}
void GDDCdlg::on_pushButton_2_12_released()
{
clearTJDCCmdBuffer();
}
//增益+
void GDDCdlg::on_pushButton_3_1_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x05;
TJDCCmdBuffer[2]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_1_released()
{
clearTJDCCmdBuffer();
}
//增益-
void GDDCdlg::on_pushButton_3_2_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x05;
TJDCCmdBuffer[2]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_2_released()
{
clearTJDCCmdBuffer();
}
//自动增益
void GDDCdlg::on_pushButton_3_3_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x05;
TJDCCmdBuffer[2]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_3_3_released()
{
clearTJDCCmdBuffer();
}
//变倍+
void GDDCdlg::on_pushButton_3_4_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_4_released()
{
clearTJDCCmdBuffer();
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
//变倍-
void GDDCdlg::on_pushButton_3_5_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_5_released()
{
clearTJDCCmdBuffer();
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
//可见光镜头初始化
void GDDCdlg::on_pushButton_3_6_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_3_6_released()
{
clearTJDCCmdBuffer();
}
//电子稳像开
void GDDCdlg::on_pushButton_3_7_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x04;
TJDCCmdBuffer[2]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_7_released()
{
clearTJDCCmdBuffer();
}
//电子稳像关
void GDDCdlg::on_pushButton_3_8_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x04;
TJDCCmdBuffer[2]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_8_released()
{
clearTJDCCmdBuffer();
}
//低照度模式
void GDDCdlg::on_pushButton_3_9_pressed()
{
if(param_pushButton_3_9)
{
TJDCCmdBuffer[0]=(std::byte)0x4A;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x4A;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
}
void GDDCdlg::on_pushButton_3_9_released()
{
clearTJDCCmdBuffer();
}
//自动ICR开
void GDDCdlg::on_pushButton_3_10_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_10_released()
{
clearTJDCCmdBuffer();
}
//自动ICR关
void GDDCdlg::on_pushButton_3_11_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_11_released()
{
clearTJDCCmdBuffer();
}
//恢复默认
void GDDCdlg::on_pushButton_3_12_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x3F;
}
void GDDCdlg::on_pushButton_3_12_released()
{
clearTJDCCmdBuffer();
}
//恢复出厂设置
void GDDCdlg::on_pushButton_3_13_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x06;
}
void GDDCdlg::on_pushButton_3_13_released()
{
clearTJDCCmdBuffer();
}
//亮度+
void GDDCdlg::on_pushButton_3_14_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x02;
TJDCCmdBuffer[2]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_14_released()
{
clearTJDCCmdBuffer();
}
//亮度-
void GDDCdlg::on_pushButton_3_15_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x02;
TJDCCmdBuffer[2]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_15_released()
{
clearTJDCCmdBuffer();
}
//自动亮度
void GDDCdlg::on_pushButton_3_16_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x02;
TJDCCmdBuffer[2]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_3_16_released()
{
clearTJDCCmdBuffer();
}
// //亮度输入设置
// void GDDCdlg::on_pushButton_3_17_pressed()
// {
// TJDCCmdBuffer[0]=(std::byte)0x3F;
// }
// void GDDCdlg::on_pushButton_3_17_released()
// {
// clearTJDCCmdBuffer();
// }
//对比度+
void GDDCdlg::on_pushButton_3_18_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_3_18_released()
{
clearTJDCCmdBuffer();
}
//对比度-
void GDDCdlg::on_pushButton_3_19_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_3_19_released()
{
clearTJDCCmdBuffer();
}
//自动对比度
void GDDCdlg::on_pushButton_3_20_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x41;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_3_20_released()
{
clearTJDCCmdBuffer();
}
// //对比度输入设置
// void GDDCdlg::on_pushButton_3_21_pressed()
// {
// TJDCCmdBuffer[0]=(std::byte)0x3F;
// }
// void GDDCdlg::on_pushButton_3_21_released()
// {
// clearTJDCCmdBuffer();
// }
//焦距+
void GDDCdlg::on_pushButton_3_22_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_3_22_released()
{
clearTJDCCmdBuffer();
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
//焦距-
void GDDCdlg::on_pushButton_3_23_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x04;
}
void GDDCdlg::on_pushButton_3_23_released()
{
clearTJDCCmdBuffer();
TJDCCmdBuffer[0]=(std::byte)0x45;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
//焦距输入设置
void GDDCdlg::on_pushButton_3_24_pressed()
{
double data = ui->lineEdit_3_1->text().toDouble()*10;
TJDCCmdBuffer[0]=(std::byte)0x4C;
TJDCCmdBuffer[1]=(std::byte)(int)data;
TJDCCmdBuffer[2]=(std::byte)((int)data>>8);
}
void GDDCdlg::on_pushButton_3_24_released()
{
clearTJDCCmdBuffer();
}
//透雾模式设置
void GDDCdlg::on_pushButton_3_25_pressed()
{
uint sel = ui->comboBox_3_1->currentIndex();
TJDCCmdBuffer[0]=(std::byte)0x4A;
TJDCCmdBuffer[1]=(std::byte)sel;
}
void GDDCdlg::on_pushButton_3_25_released()
{
clearTJDCCmdBuffer();
}
//调焦+
void GDDCdlg::on_pushButton_4_1_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x50;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_4_1_released()
{
clearTJDCCmdBuffer();
}
//调焦-
void GDDCdlg::on_pushButton_4_2_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x50;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_4_2_released()
{
clearTJDCCmdBuffer();
}
//自动对焦测
void GDDCdlg::on_pushButton_4_3_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x50;
TJDCCmdBuffer[1]=(std::byte)0x03;
}
void GDDCdlg::on_pushButton_4_3_released()
{
clearTJDCCmdBuffer();
}
//测温模式
void GDDCdlg::on_pushButton_4_4_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x51;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_4_4_released()
{
clearTJDCCmdBuffer();
}
//变倍+
void GDDCdlg::on_pushButton_4_5_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x50;
TJDCCmdBuffer[1]=(std::byte)0x0F;
}
void GDDCdlg::on_pushButton_4_5_released()
{
clearTJDCCmdBuffer();
}
//变倍-
void GDDCdlg::on_pushButton_4_6_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x50;
TJDCCmdBuffer[1]=(std::byte)0x10;
}
void GDDCdlg::on_pushButton_4_6_released()
{
clearTJDCCmdBuffer();
}
//电子放大
void GDDCdlg::on_pushButton_4_7_pressed()
{
paramDigitalZoom+=1;
if(paramDigitalZoom == 5)
paramDigitalZoom = 0;
TJDCCmdBuffer[0]=(std::byte)0x54;
TJDCCmdBuffer[1]=(std::byte)paramDigitalZoom;
}
void GDDCdlg::on_pushButton_4_7_released()
{
clearTJDCCmdBuffer();
}
//观测模式
void GDDCdlg::on_pushButton_4_8_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x51;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_4_8_released()
{
clearTJDCCmdBuffer();
}
//亮度+
void GDDCdlg::on_pushButton_4_9_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x59;
}
void GDDCdlg::on_pushButton_4_9_released()
{
clearTJDCCmdBuffer();
}
//亮度-
void GDDCdlg::on_pushButton_4_10_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x59;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_4_10_released()
{
clearTJDCCmdBuffer();
}
//场景补偿
void GDDCdlg::on_pushButton_4_11_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x55;
}
void GDDCdlg::on_pushButton_4_11_released()
{
clearTJDCCmdBuffer();
}
//恢复默认设置
void GDDCdlg::on_pushButton_4_12_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x58;
TJDCCmdBuffer[1]=(std::byte)0x02;
}
void GDDCdlg::on_pushButton_4_12_released()
{
clearTJDCCmdBuffer();
}
//对比度+
void GDDCdlg::on_pushButton_4_13_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x5A;
}
void GDDCdlg::on_pushButton_4_13_released()
{
clearTJDCCmdBuffer();
}
//对比度-
void GDDCdlg::on_pushButton_4_14_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x5A;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_4_14_released()
{
clearTJDCCmdBuffer();
}
//红外快门补偿
void GDDCdlg::on_pushButton_4_15_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x56;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
void GDDCdlg::on_pushButton_4_15_released()
{
clearTJDCCmdBuffer();
}
//恢复出厂设置
void GDDCdlg::on_pushButton_4_16_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x58;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_4_16_released()
{
clearTJDCCmdBuffer();
}
//伪色彩切换
void GDDCdlg::on_pushButton_4_17_pressed()
{
int sel = ui->comboBox_4_1->currentIndex();
if(sel==0)
{
TJDCCmdBuffer[0]=(std::byte)0x53;
TJDCCmdBuffer[1]=(std::byte)0x00;
TJDCCmdBuffer[2]=(std::byte)0x00;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x58;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)(sel-1);
}
}
void GDDCdlg::on_pushButton_4_17_released()
{
clearTJDCCmdBuffer();
}
//图像增强
void GDDCdlg::on_pushButton_4_18_pressed()
{
int sel = ui->comboBox_4_2->currentIndex();
TJDCCmdBuffer[0]=(std::byte)0x57;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)(sel);
}
void GDDCdlg::on_pushButton_4_18_released()
{
clearTJDCCmdBuffer();
}
//俯仰+
void GDDCdlg::on_pushButton_5_1_pressed()
{
if(paramIsFrame)
{
int sel = ui->comboBox_5_1->currentIndex();
sel+=1;
TJDCCmdBuffer[5]=(std::byte)0x70;
TJDCCmdBuffer[6]=(std::byte)0x00;
TJDCCmdBuffer[7]=(std::byte)0x00;
TJDCCmdBuffer[8]=(std::byte)(sel*2);
TJDCCmdBuffer[9]=(std::byte)((sel*2)>>8);
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x76;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0x00;
TJDCCmdBuffer[3]=(std::byte)0x01;
TJDCCmdBuffer[4]=(std::byte)0x00;
}
}
void GDDCdlg::on_pushButton_5_1_released()
{
clearTJDCCmdBuffer();
}
//方位+
void GDDCdlg::on_pushButton_5_2_pressed()
{
if(paramIsFrame)
{
int sel = ui->comboBox_5_1->currentIndex();
sel+=1;
TJDCCmdBuffer[5]=(std::byte)0x70;
TJDCCmdBuffer[6]=(std::byte)(sel*2);
TJDCCmdBuffer[7]=(std::byte)((sel*2)>>8);
TJDCCmdBuffer[8]=(std::byte)0x00;
TJDCCmdBuffer[9]=(std::byte)0x00;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x76;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0xFF;
TJDCCmdBuffer[3]=(std::byte)0x00;
TJDCCmdBuffer[4]=(std::byte)0x00;
}
}
void GDDCdlg::on_pushButton_5_2_released()
{
clearTJDCCmdBuffer();
}
//俯仰-
void GDDCdlg::on_pushButton_5_3_pressed()
{
if(paramIsFrame)
{
int sel = ui->comboBox_5_1->currentIndex();
sel+=1;
TJDCCmdBuffer[5]=(std::byte)0x70;
TJDCCmdBuffer[6]=(std::byte)0x00;
TJDCCmdBuffer[7]=(std::byte)0x00;
TJDCCmdBuffer[8]=(std::byte)(-sel*2);
TJDCCmdBuffer[9]=(std::byte)((-sel*2)>>8);
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x76;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0x00;
TJDCCmdBuffer[3]=(std::byte)0xFF;
TJDCCmdBuffer[4]=(std::byte)0x00;
}
}
void GDDCdlg::on_pushButton_5_3_released()
{
clearTJDCCmdBuffer();
}
//方位-
void GDDCdlg::on_pushButton_5_4_pressed()
{
if(paramIsFrame)
{
int sel = ui->comboBox_5_1->currentIndex();
sel+=1;
TJDCCmdBuffer[5]=(std::byte)0x70;
TJDCCmdBuffer[6]=(std::byte)(-sel*2);
TJDCCmdBuffer[7]=(std::byte)((-sel*2)>>8);
TJDCCmdBuffer[8]=(std::byte)0x00;
TJDCCmdBuffer[9]=(std::byte)0x00;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x76;
TJDCCmdBuffer[1]=(std::byte)0x03;
TJDCCmdBuffer[2]=(std::byte)0x01;
TJDCCmdBuffer[3]=(std::byte)0x00;
TJDCCmdBuffer[4]=(std::byte)0x00;
}
}
void GDDCdlg::on_pushButton_5_4_released()
{
if(paramIsFrame)
{
clearTJDCCmdBuffer();
TJDCCmdBuffer[5]=(std::byte)0x70;
}
else
{
clearTJDCCmdBuffer();
}
}
//归中/陀螺校准
void GDDCdlg::on_pushButton_5_5_pressed()
{
if(paramIsFrame)
{
TJDCCmdBuffer[0]=(std::byte)0x71;
}
else
{
TJDCCmdBuffer[0]=(std::byte)0x76;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
}
void GDDCdlg::on_pushButton_5_5_released()
{
clearTJDCCmdBuffer();
}
//垂直下视
void GDDCdlg::on_pushButton_5_6_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x73;
}
void GDDCdlg::on_pushButton_5_6_released()
{
clearTJDCCmdBuffer();
}
//收藏模式
void GDDCdlg::on_pushButton_5_7_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x74;
}
void GDDCdlg::on_pushButton_5_7_released()
{
clearTJDCCmdBuffer();
}
//关伺服
void GDDCdlg::on_pushButton_5_8_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x75;
}
void GDDCdlg::on_pushButton_5_8_released()
{
clearTJDCCmdBuffer();
}
//方位弱随动机头 航向随动
void GDDCdlg::on_pushButton_5_9_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x7B;
}
void GDDCdlg::on_pushButton_5_9_released()
{
clearTJDCCmdBuffer();
}
// //
// void GDDCdlg::on_pushButton_5_10_pressed()
// {
// TJDCCmdBuffer[0]=(std::byte)0x00;
// }
// void GDDCdlg::on_pushButton_5_10_released()
// {
// clearTJDCCmdBuffer();
// }
//航向锁定
void GDDCdlg::on_pushButton_5_11_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x7A;
}
void GDDCdlg::on_pushButton_5_11_released()
{
clearTJDCCmdBuffer();
}
//扫描设置
void GDDCdlg::on_pushButton_5_12_pressed()
{
int angle = ui->lineEdit_5_1->text().toInt();
int speed = ui->lineEdit_5_2->text().toInt();
TJDCCmdBuffer[0]=(std::byte)0x77;
TJDCCmdBuffer[1]=(std::byte)angle;
TJDCCmdBuffer[2]=(std::byte)(angle>>8);
TJDCCmdBuffer[3]=(std::byte)speed;
TJDCCmdBuffer[4]=(std::byte)(speed>>8);
}
void GDDCdlg::on_pushButton_5_12_released()
{
clearTJDCCmdBuffer();
}
//执行扫描
void GDDCdlg::on_pushButton_5_13_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x79;
}
void GDDCdlg::on_pushButton_5_13_released()
{
clearTJDCCmdBuffer();
}
//姿态指引
void GDDCdlg::on_pushButton_5_14_pressed()
{
double Dir = ui->lineEdit_5_3->text().toDouble();
double Pitch = ui->lineEdit_5_4->text().toDouble();
int dir = Dir*100;
int pitch = Pitch*100;
TJDCCmdBuffer[0]=(std::byte)0x7C;
TJDCCmdBuffer[1]=(std::byte)dir;
TJDCCmdBuffer[2]=(std::byte)(dir>>8);
TJDCCmdBuffer[3]=(std::byte)pitch;
TJDCCmdBuffer[4]=(std::byte)(pitch>>8);
}
void GDDCdlg::on_pushButton_5_14_released()
{
clearTJDCCmdBuffer();
}
//数字指引
void GDDCdlg::on_pushButton_5_15_pressed()
{
double Dir = ui->lineEdit_5_3->text().toDouble();
double Pitch = ui->lineEdit_5_4->text().toDouble();
int dir = Dir*100;
int pitch = Pitch*100;
TJDCCmdBuffer[0]=(std::byte)0x72;
TJDCCmdBuffer[1]=(std::byte)dir;
TJDCCmdBuffer[2]=(std::byte)(dir>>8);
TJDCCmdBuffer[3]=(std::byte)pitch;
TJDCCmdBuffer[4]=(std::byte)(pitch>>8);
}
void GDDCdlg::on_pushButton_5_15_released()
{
clearTJDCCmdBuffer();
}
//框架
void GDDCdlg::on_radioButton_5_1_clicked()
{
paramIsFrame = true;
ui->pushButton_5_5->setText("归中");
}
//陀螺
void GDDCdlg::on_radioButton_5_2_clicked()
{
paramIsFrame = false;
ui->pushButton_5_5->setText("自动校准");
}
//AI开
void GDDCdlg::on_pushButton_6_1_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x91;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_6_1_released()
{
clearTJDCCmdBuffer();
}
//AI关
void GDDCdlg::on_pushButton_6_2_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x91;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
void GDDCdlg::on_pushButton_6_2_released()
{
clearTJDCCmdBuffer();
}
//AI框显示
void GDDCdlg::on_pushButton_6_3_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x94;
TJDCCmdBuffer[1]=(std::byte)0x01;
}
void GDDCdlg::on_pushButton_6_3_released()
{
clearTJDCCmdBuffer();
}
//AI框隐藏
void GDDCdlg::on_pushButton_6_4_pressed()
{
TJDCCmdBuffer[0]=(std::byte)0x94;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
void GDDCdlg::on_pushButton_6_4_released()
{
clearTJDCCmdBuffer();
}
//AI跟踪
void GDDCdlg::on_pushButton_6_5_pressed()
{
int sel = ui->comboBox_6_1->currentIndex();
if(sel == 0)
{
TJDCCmdBuffer[0]=(std::byte)0x93;
TJDCCmdBuffer[1]=(std::byte)0x00;
}
if(sel == 1)
{
int value = ui->spinBox_6_1->value();
TJDCCmdBuffer[0]=(std::byte)0x93;
TJDCCmdBuffer[1]=(std::byte)0x01;
TJDCCmdBuffer[2]=(std::byte)value;
}
}
void GDDCdlg::on_pushButton_6_5_released()
{
clearTJDCCmdBuffer();
}
//目标检测方式
void GDDCdlg::on_pushButton_6_6_pressed()
{
int sel = ui->comboBox_6_2->currentIndex();
int sel2 = ui->comboBox_6_3->currentIndex();
TJDCCmdBuffer[0]=(std::byte)0x9A;
TJDCCmdBuffer[1]=(std::byte)sel;
TJDCCmdBuffer[2]=(std::byte)sel2;
}
void GDDCdlg::on_pushButton_6_6_released()
{
clearTJDCCmdBuffer();
}
//检测兴趣区域位置设置
void GDDCdlg::on_pushButton_6_7_pressed()
{
int Direction = ui->lineEdit_6_1->text().toInt();
int Pitch = ui->lineEdit_6_2->text().toInt();
TJDCCmdBuffer[0]=(std::byte)0x93;
TJDCCmdBuffer[1]=(std::byte)Direction;
TJDCCmdBuffer[2]=(std::byte)(Direction>>8);
TJDCCmdBuffer[3]=(std::byte)Pitch;
TJDCCmdBuffer[4]=(std::byte)(Pitch>>8);
detectionAreaSetting = false;
}
void GDDCdlg::on_pushButton_6_7_released()
{
clearTJDCCmdBuffer();
}
//像素选取
void GDDCdlg::on_pushButton_6_8_clicked()
{
if(detectionAreaSetting == false)
{
detectionAreaSetting = true;
ui->pushButton_6_8->setDown(true);
}
else
{
detectionAreaSetting = false;
ui->pushButton_6_8->setDown(false);
}
}
//播放视频1
void GDDCdlg::startConnectURL1()
{
if(!connectFlag[0])
{
connectFlag[0] = true ;
//ui->WgtffmpegVideo->Isplay(Is_openVideo);
ui->WgtffmpegVideo->play();
ui->WgtffmpegVideo->setUrl(m_DlgGDDCSet->m_playURL1);
ui->WgtffmpegVideo->m_PlayStatus =Is_openVideo;
}
}
//关闭视频1
void GDDCdlg::stopConnectURL1()
{
if(connectFlag[0])
{
connectFlag[0] = false ;
ui->WgtffmpegVideo->m_PlayStatus = Is_openVideo;
ui->WgtffmpegVideo->stop();
}
}
//播放视频2
void GDDCdlg::startConnectURL2()
{
if(!connectFlag[1])
{
connectFlag[1] = true ;
}
}
//关闭视频2
void GDDCdlg::stopConnectURL2()
{
if(connectFlag[1])
{
connectFlag[1] = false ;
}
}
void GDDCdlg::startConnectSerialCtrl()
{
if(!connectFlag[2])
{
connectFlag[2] = true ;
}
}
void GDDCdlg::stopConnectSerialCtrl()
{
if(connectFlag[2])
{
connectFlag[2] = false ;
}
}
//开始UDP控制通信
void GDDCdlg::startConnectUDPCtrl()
{
if(!connectFlag[3])
{
//创建udp socket对象
udpSocket = new QUdpSocket(this);
/*接收*/
//QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();//获取本机ip
udpSocket->bind(m_DlgGDDCSet->m_myPairNetwork.getLocalPort());
connect(udpSocket,SIGNAL(readyRead()),this,SLOT(UDPMessageReceive()));
connectFlag[3] = true;
}
}
//停止UDP控制通信
void GDDCdlg::stopConnectUDPCtrl()
{
if(connectFlag[3])
{
udpSocket->abort();//关闭套接字,并丢缓冲区中的所有待处理数据
connectFlag[3] = false;
}
}
//开始TCP控制通信
void GDDCdlg::startConnectTCPCtrl()
{
if(!connectFlag[4])
{
connectFlag[4] = true;
}
}
//停止TCP控制通信
void GDDCdlg::stopConnectTCPCtrl()
{
if(connectFlag[4])
{
connectFlag[4] = false;
}
}
//设置页面弹出
void GDDCdlg::on_pushButtonSet_clicked()
{
m_DlgGDDCSet->show();
}
//udp数据接收
void GDDCdlg::UDPMessageReceive()
{
QByteArray data;
data.resize(udpSocket->pendingDatagramSize());
QHostAddress addr;
quint16 port;
udpSocket->readDatagram(data.data(),data.size(),&addr,&port);
//const char* chardata= data.constData();
qDebug()<<data.data();
}
//控制页面隐藏与显示
void GDDCdlg::on_pushButShowCmdArea_clicked()
{
if(isCmdAreaShow)
{
ui->tabWidget->setVisible(false);
isCmdAreaShow = false;
resizeUI();
ui->pushButShowCmdArea->setIcon(QIcon(":/res/up.png"));
//ui->pushButton->setGeometry(this->width()/2,this->height()-50,50,50);
}
else
{
ui->tabWidget->setVisible(true);
isCmdAreaShow = true;
resizeUI();
ui->pushButShowCmdArea->setIcon(QIcon(":/res/down.png"));
//ui->pushButton->setGeometry(this->width()/2,ui->tabWidget->height(),50,50);
}
}