#include "gddcCmdDlg.h" #include "ui_gddcCmdDlg.h" #include GDDCCmdDlg::GDDCCmdDlg(QWidget *parent) : QWidget(parent), ui(new Ui::GDDCCmdDlg) { ui->setupUi(this); // setWindowFlags(Qt::SubWindow); initParam(); } GDDCCmdDlg::~GDDCCmdDlg() { delete ui; } // 初始化参数 void GDDCCmdDlg::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"); m_paramInfraredWarning = 0; ui->swtichButton_4_1->setChecked(false); ui->swtichButton_4_1->setFixedSize(100, 20); ui->swtichButton_4_1->setButtonStyle(ImageSwitch::ButtonStyle_1); // 绑定选中切换信号 connect(ui->swtichButton_4_1, SIGNAL(checkedChanged(bool)), this, SLOT(checkedChangedSlot(bool))); /*稳定平台*/ 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; ui->spinBox->setWrapping(true); ui->spinBox->setValue(5); setPodIco(); } // 设置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() { /******************模拟发送天进吊舱控制指令************************/ 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 GDDCCmdDlg::clearTJDCCmdBuffer() { memset(TJDCCmdBuffer, 0, sizeof(TJDCCmdBuffer)); } // 设置发送数据和次数 void GDDCCmdDlg::sendCurDate(std::byte *buffer, int num) { sendTimes = num; for (int i = 0; i < 10; ++i) { TJDCCmdBuffer[i] = buffer[i]; } UpdateDataTJDC(); } // 授时 void GDDCCmdDlg::on_pushButton_1_1_pressed() { TJDCCmdBuffer[0] = (std::byte)0x20; } void GDDCCmdDlg::on_pushButton_1_1_released() { clearTJDCCmdBuffer(); } // 目标模板设置 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_1_2_released() { clearTJDCCmdBuffer(); } // 目标模板设置 void GDDCCmdDlg::on_pushButton_1_3_pressed() { uint selection = ui->comboBox_1_2->currentIndex(); TJDCCmdBuffer[0] = (std::byte)0x25; TJDCCmdBuffer[1] = (std::byte)selection; } void GDDCCmdDlg::on_pushButton_1_3_released() { clearTJDCCmdBuffer(); } // 吊舱IP设置 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_1_4_released() { clearTJDCCmdBuffer(); } // 图像切换 void GDDCCmdDlg::on_pushButton_2_1_pressed() { TJDCCmdBuffer[0] = (std::byte)0x31; } void GDDCCmdDlg::on_pushButton_2_1_released() { clearTJDCCmdBuffer(); } // 抓图 void GDDCCmdDlg::on_pushButton_2_2_pressed() { TJDCCmdBuffer[0] = (std::byte)0x32; } void GDDCCmdDlg::on_pushButton_2_2_released() { clearTJDCCmdBuffer(); } // 开始连续抓图 void GDDCCmdDlg::on_pushButton_2_3_pressed() { TJDCCmdBuffer[0] = (std::byte)0x32; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_2_3_released() { clearTJDCCmdBuffer(); } // 停止连续抓图 void GDDCCmdDlg::on_pushButton_2_4_pressed() { TJDCCmdBuffer[0] = (std::byte)0x32; TJDCCmdBuffer[1] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_2_4_released() { clearTJDCCmdBuffer(); } // 选点跟踪 void GDDCCmdDlg::on_pushButton_2_5_pressed() { pointSelectionTracking = true; } void GDDCCmdDlg::on_pushButton_2_5_released() { clearTJDCCmdBuffer(); } // 取消跟踪 void GDDCCmdDlg::on_pushButton_2_6_pressed() { TJDCCmdBuffer[0] = (std::byte)0x3B; pointSelectionTracking = false; } void GDDCCmdDlg::on_pushButton_2_6_released() { clearTJDCCmdBuffer(); } // 开始录像 void GDDCCmdDlg::on_pushButton_2_7_pressed() { TJDCCmdBuffer[0] = (std::byte)0x33; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_2_7_released() { clearTJDCCmdBuffer(); } // 停止录像 void GDDCCmdDlg::on_pushButton_2_8_pressed() { TJDCCmdBuffer[0] = (std::byte)0x33; TJDCCmdBuffer[1] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_2_8_released() { clearTJDCCmdBuffer(); } // 单次测距 void GDDCCmdDlg::on_pushButton_2_9_pressed() { TJDCCmdBuffer[0] = (std::byte)0x3D; } void GDDCCmdDlg::on_pushButton_2_9_released() { clearTJDCCmdBuffer(); } // 开始连续测距 void GDDCCmdDlg::on_pushButton_2_10_pressed() { TJDCCmdBuffer[0] = (std::byte)0x3E; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_2_10_released() { clearTJDCCmdBuffer(); } // 停止连续测距 void GDDCCmdDlg::on_pushButton_2_11_pressed() { TJDCCmdBuffer[0] = (std::byte)0x3F; } void GDDCCmdDlg::on_pushButton_2_11_released() { clearTJDCCmdBuffer(); } // 字符叠加设置 void GDDCCmdDlg::on_pushButton_2_12_pressed() { uint sel = ui->comboBox_2_1->currentIndex(); TJDCCmdBuffer[0] = (std::byte)0x37; TJDCCmdBuffer[1] = (std::byte)sel; } void GDDCCmdDlg::on_pushButton_2_12_released() { clearTJDCCmdBuffer(); } // 增益+ void GDDCCmdDlg::on_pushButton_3_1_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x05; TJDCCmdBuffer[2] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_3_1_released() { clearTJDCCmdBuffer(); } // 增益- void GDDCCmdDlg::on_pushButton_3_2_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x05; TJDCCmdBuffer[2] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_3_2_released() { clearTJDCCmdBuffer(); } // 自动增益 void GDDCCmdDlg::on_pushButton_3_3_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x05; TJDCCmdBuffer[2] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_3_3_released() { clearTJDCCmdBuffer(); } // 变倍+ void GDDCCmdDlg::on_pushButton_3_4_pressed() { TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x01; TJDCCmdBuffer[2] = (std::byte)ui->spinBox->value(); } void GDDCCmdDlg::on_pushButton_3_4_released() { clearTJDCCmdBuffer(); TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x00; sendCurDate(TJDCCmdBuffer, 1); } // 变倍- void GDDCCmdDlg::on_pushButton_3_5_pressed() { TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x02; TJDCCmdBuffer[2] = (std::byte)ui->spinBox->value(); } void GDDCCmdDlg::on_pushButton_3_5_released() { clearTJDCCmdBuffer(); TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x00; sendCurDate(TJDCCmdBuffer, 1); } // 可见光镜头初始化 void GDDCCmdDlg::on_pushButton_3_6_pressed() { TJDCCmdBuffer[0] = (std::byte)0x40; TJDCCmdBuffer[1] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_3_6_released() { clearTJDCCmdBuffer(); } // 电子稳像开 void GDDCCmdDlg::on_pushButton_3_7_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x04; TJDCCmdBuffer[2] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_3_7_released() { clearTJDCCmdBuffer(); } // 电子稳像关 void GDDCCmdDlg::on_pushButton_3_8_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x04; TJDCCmdBuffer[2] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_3_8_released() { clearTJDCCmdBuffer(); } // 低照度模式 void GDDCCmdDlg::on_pushButton_3_9_pressed() { if (param_pushButton_3_9) {//关闭 TJDCCmdBuffer[0] = (std::byte)0x4B; TJDCCmdBuffer[1] = (std::byte)0x00; param_pushButton_3_9 = false; ui->pushButton_3_9->setText("低照度模式"); } else { //开启 TJDCCmdBuffer[0] = (std::byte)0x4B; TJDCCmdBuffer[1] = (std::byte)0x01; param_pushButton_3_9 = true; ui->pushButton_3_9->setText("低照度模式关"); } } void GDDCCmdDlg::on_pushButton_3_9_released() { clearTJDCCmdBuffer(); } // 自动ICR开 void GDDCCmdDlg::on_pushButton_3_10_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x03; TJDCCmdBuffer[2] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_3_10_released() { clearTJDCCmdBuffer(); } // 自动ICR关 void GDDCCmdDlg::on_pushButton_3_11_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x03; TJDCCmdBuffer[2] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_3_11_released() { clearTJDCCmdBuffer(); } // 恢复默认 void GDDCCmdDlg::on_pushButton_3_12_pressed() { TJDCCmdBuffer[0] = (std::byte)0x3F; } void GDDCCmdDlg::on_pushButton_3_12_released() { clearTJDCCmdBuffer(); } // 恢复出厂设置 void GDDCCmdDlg::on_pushButton_3_13_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x06; } void GDDCCmdDlg::on_pushButton_3_13_released() { clearTJDCCmdBuffer(); } // 亮度+ void GDDCCmdDlg::on_pushButton_3_14_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x02; TJDCCmdBuffer[2] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_3_14_released() { clearTJDCCmdBuffer(); } // 亮度- void GDDCCmdDlg::on_pushButton_3_15_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x02; TJDCCmdBuffer[2] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_3_15_released() { clearTJDCCmdBuffer(); } // 自动亮度 void GDDCCmdDlg::on_pushButton_3_16_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x02; TJDCCmdBuffer[2] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_3_16_released() { clearTJDCCmdBuffer(); } // //亮度输入设置 // void GDDCCmdDlg::on_pushButton_3_17_pressed() // { // TJDCCmdBuffer[0]=(std::byte)0x3F; // } // void GDDCCmdDlg::on_pushButton_3_17_released() // { // clearTJDCCmdBuffer(); // } // 对比度+ void GDDCCmdDlg::on_pushButton_3_18_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x01; TJDCCmdBuffer[2] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_3_18_released() { clearTJDCCmdBuffer(); } // 对比度- void GDDCCmdDlg::on_pushButton_3_19_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x01; TJDCCmdBuffer[2] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_3_19_released() { clearTJDCCmdBuffer(); } // 自动对比度 void GDDCCmdDlg::on_pushButton_3_20_pressed() { TJDCCmdBuffer[0] = (std::byte)0x41; TJDCCmdBuffer[1] = (std::byte)0x01; TJDCCmdBuffer[2] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_3_20_released() { clearTJDCCmdBuffer(); } // //对比度输入设置 // void GDDCCmdDlg::on_pushButton_3_21_pressed() // { // TJDCCmdBuffer[0]=(std::byte)0x3F; // } // void GDDCCmdDlg::on_pushButton_3_21_released() // { // clearTJDCCmdBuffer(); // } // 焦距+ void GDDCCmdDlg::on_pushButton_3_22_pressed() { TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_3_22_released() { clearTJDCCmdBuffer(); TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x00; } // 焦距- void GDDCCmdDlg::on_pushButton_3_23_pressed() { TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x04; } void GDDCCmdDlg::on_pushButton_3_23_released() { clearTJDCCmdBuffer(); TJDCCmdBuffer[0] = (std::byte)0x45; TJDCCmdBuffer[1] = (std::byte)0x00; } // 焦距输入设置 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_3_24_released() { clearTJDCCmdBuffer(); } // 透雾模式设置 void GDDCCmdDlg::on_pushButton_3_25_pressed() { uint sel = ui->comboBox_3_1->currentIndex(); TJDCCmdBuffer[0] = (std::byte)0x4A; TJDCCmdBuffer[1] = (std::byte)sel; } void GDDCCmdDlg::on_pushButton_3_25_released() { clearTJDCCmdBuffer(); } // 调焦+ void GDDCCmdDlg::on_pushButton_4_1_pressed() { TJDCCmdBuffer[0] = (std::byte)0x50; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_4_1_released() { clearTJDCCmdBuffer(); } // 调焦- void GDDCCmdDlg::on_pushButton_4_2_pressed() { TJDCCmdBuffer[0] = (std::byte)0x50; TJDCCmdBuffer[1] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_4_2_released() { clearTJDCCmdBuffer(); } // 自动对焦测 void GDDCCmdDlg::on_pushButton_4_3_pressed() { TJDCCmdBuffer[0] = (std::byte)0x50; TJDCCmdBuffer[1] = (std::byte)0x03; } void GDDCCmdDlg::on_pushButton_4_3_released() { clearTJDCCmdBuffer(); } // 测温模式 void GDDCCmdDlg::on_pushButton_4_4_pressed() { TJDCCmdBuffer[0] = (std::byte)0x51; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_4_4_released() { clearTJDCCmdBuffer(); } // 变倍+ void GDDCCmdDlg::on_pushButton_4_5_pressed() { TJDCCmdBuffer[0] = (std::byte)0x50; TJDCCmdBuffer[1] = (std::byte)0x0F; } void GDDCCmdDlg::on_pushButton_4_5_released() { clearTJDCCmdBuffer(); } // 变倍- void GDDCCmdDlg::on_pushButton_4_6_pressed() { TJDCCmdBuffer[0] = (std::byte)0x50; TJDCCmdBuffer[1] = (std::byte)0x10; } void GDDCCmdDlg::on_pushButton_4_6_released() { clearTJDCCmdBuffer(); } // 电子放大 void GDDCCmdDlg::on_pushButton_4_7_pressed() { paramDigitalZoom += 1; if (paramDigitalZoom == 5) paramDigitalZoom = 0; TJDCCmdBuffer[0] = (std::byte)0x54; TJDCCmdBuffer[1] = (std::byte)paramDigitalZoom; } void GDDCCmdDlg::on_pushButton_4_7_released() { clearTJDCCmdBuffer(); } // 观测模式 void GDDCCmdDlg::on_pushButton_4_8_pressed() { TJDCCmdBuffer[0] = (std::byte)0x51; TJDCCmdBuffer[1] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_4_8_released() { clearTJDCCmdBuffer(); } // 亮度+ void GDDCCmdDlg::on_pushButton_4_9_pressed() { TJDCCmdBuffer[0] = (std::byte)0x59; } void GDDCCmdDlg::on_pushButton_4_9_released() { clearTJDCCmdBuffer(); } // 亮度- void GDDCCmdDlg::on_pushButton_4_10_pressed() { TJDCCmdBuffer[0] = (std::byte)0x59; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_4_10_released() { clearTJDCCmdBuffer(); } // 场景补偿 void GDDCCmdDlg::on_pushButton_4_11_pressed() { TJDCCmdBuffer[0] = (std::byte)0x55; } void GDDCCmdDlg::on_pushButton_4_11_released() { clearTJDCCmdBuffer(); } // 恢复默认设置 void GDDCCmdDlg::on_pushButton_4_12_pressed() { TJDCCmdBuffer[0] = (std::byte)0x58; TJDCCmdBuffer[1] = (std::byte)0x02; } void GDDCCmdDlg::on_pushButton_4_12_released() { clearTJDCCmdBuffer(); } // 对比度+ void GDDCCmdDlg::on_pushButton_4_13_pressed() { TJDCCmdBuffer[0] = (std::byte)0x5A; } void GDDCCmdDlg::on_pushButton_4_13_released() { clearTJDCCmdBuffer(); } // 对比度- void GDDCCmdDlg::on_pushButton_4_14_pressed() { TJDCCmdBuffer[0] = (std::byte)0x5A; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_4_14_released() { clearTJDCCmdBuffer(); } // 红外快门补偿 void GDDCCmdDlg::on_pushButton_4_15_pressed() { TJDCCmdBuffer[0] = (std::byte)0x56; TJDCCmdBuffer[1] = (std::byte)0x00; } void GDDCCmdDlg::on_pushButton_4_15_released() { clearTJDCCmdBuffer(); } // 恢复出厂设置 void GDDCCmdDlg::on_pushButton_4_16_pressed() { TJDCCmdBuffer[0] = (std::byte)0x58; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_4_16_released() { clearTJDCCmdBuffer(); } // 伪色彩切换 void GDDCCmdDlg::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)0x53; TJDCCmdBuffer[1] = (std::byte)0x01; TJDCCmdBuffer[2] = (std::byte)(sel - 1); } } void GDDCCmdDlg::on_pushButton_4_17_released() { clearTJDCCmdBuffer(); } // 图像增强 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_4_18_released() { clearTJDCCmdBuffer(); } // 红外报警设置 void GDDCCmdDlg::on_pushButton_4_19_pressed() { UINT8 Bit0 = 0b00000001; // 测温型 int sel = ui->lineEdit_4_2->text().toDouble() * 10; TJDCCmdBuffer[0] = (std::byte)(m_paramInfraredWarning + Bit0); TJDCCmdBuffer[1] = (std::byte)sel; TJDCCmdBuffer[2] = (std::byte)(sel >> 8); } void GDDCCmdDlg::on_pushButton_4_19_released() { clearTJDCCmdBuffer(); } // 开启/关闭温度报警或者阈值检测功能 void GDDCCmdDlg::checkedChangedSlot(bool param) { if (!param) { m_paramInfraredWarning = 0b00000000; // 关闭 } else { m_paramInfraredWarning = 0b10000000; // 开启 } } // 俯仰+ void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_1_released() { clearTJDCCmdBuffer(); } // 方位+ void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_2_released() { clearTJDCCmdBuffer(); } // 俯仰- void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_3_released() { clearTJDCCmdBuffer(); } // 方位- void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_4_released() { if (paramIsFrame) { clearTJDCCmdBuffer(); TJDCCmdBuffer[5] = (std::byte)0x70; } else { clearTJDCCmdBuffer(); } } // 归中/陀螺校准 void GDDCCmdDlg::on_pushButton_5_5_pressed() { if (paramIsFrame) { TJDCCmdBuffer[0] = (std::byte)0x71; } else { TJDCCmdBuffer[0] = (std::byte)0x76; TJDCCmdBuffer[1] = (std::byte)0x01; } } void GDDCCmdDlg::on_pushButton_5_5_released() { clearTJDCCmdBuffer(); } // 垂直下视 void GDDCCmdDlg::on_pushButton_5_6_pressed() { TJDCCmdBuffer[0] = (std::byte)0x73; } void GDDCCmdDlg::on_pushButton_5_6_released() { clearTJDCCmdBuffer(); } // 收藏模式 void GDDCCmdDlg::on_pushButton_5_7_pressed() { TJDCCmdBuffer[0] = (std::byte)0x74; } void GDDCCmdDlg::on_pushButton_5_7_released() { clearTJDCCmdBuffer(); } // 关伺服 void GDDCCmdDlg::on_pushButton_5_8_pressed() { TJDCCmdBuffer[0] = (std::byte)0x75; } void GDDCCmdDlg::on_pushButton_5_8_released() { clearTJDCCmdBuffer(); } // 方位弱随动机头 航向随动 void GDDCCmdDlg::on_pushButton_5_9_pressed() { TJDCCmdBuffer[0] = (std::byte)0x7B; } void GDDCCmdDlg::on_pushButton_5_9_released() { clearTJDCCmdBuffer(); } // // // void GDDCCmdDlg::on_pushButton_5_10_pressed() // { // TJDCCmdBuffer[0]=(std::byte)0x00; // } // void GDDCCmdDlg::on_pushButton_5_10_released() // { // clearTJDCCmdBuffer(); // } // 航向锁定 void GDDCCmdDlg::on_pushButton_5_11_pressed() { TJDCCmdBuffer[0] = (std::byte)0x7A; } void GDDCCmdDlg::on_pushButton_5_11_released() { clearTJDCCmdBuffer(); } // 扫描设置 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_12_released() { clearTJDCCmdBuffer(); } // 执行扫描 void GDDCCmdDlg::on_pushButton_5_13_pressed() { TJDCCmdBuffer[0] = (std::byte)0x79; } void GDDCCmdDlg::on_pushButton_5_13_released() { clearTJDCCmdBuffer(); } // 姿态指引 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_14_released() { clearTJDCCmdBuffer(); } // 数字指引 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_5_15_released() { clearTJDCCmdBuffer(); } // 框架 void GDDCCmdDlg::on_radioButton_5_1_clicked() { paramIsFrame = true; // ui->pushButton_5_5->setText("归中"); } // 陀螺 void GDDCCmdDlg::on_radioButton_5_2_clicked() { paramIsFrame = false; // ui->pushButton_5_5->setText("自动校准"); } // AI开 void GDDCCmdDlg::on_pushButton_6_1_pressed() { TJDCCmdBuffer[0] = (std::byte)0x91; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_6_1_released() { clearTJDCCmdBuffer(); } // AI关 void GDDCCmdDlg::on_pushButton_6_2_pressed() { TJDCCmdBuffer[0] = (std::byte)0x91; TJDCCmdBuffer[1] = (std::byte)0x00; } void GDDCCmdDlg::on_pushButton_6_2_released() { clearTJDCCmdBuffer(); } // AI框显示 void GDDCCmdDlg::on_pushButton_6_3_pressed() { TJDCCmdBuffer[0] = (std::byte)0x94; TJDCCmdBuffer[1] = (std::byte)0x01; } void GDDCCmdDlg::on_pushButton_6_3_released() { clearTJDCCmdBuffer(); } // AI框隐藏 void GDDCCmdDlg::on_pushButton_6_4_pressed() { TJDCCmdBuffer[0] = (std::byte)0x94; TJDCCmdBuffer[1] = (std::byte)0x00; } void GDDCCmdDlg::on_pushButton_6_4_released() { clearTJDCCmdBuffer(); } // AI跟踪 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_6_5_released() { clearTJDCCmdBuffer(); } // 目标检测方式 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_6_6_released() { clearTJDCCmdBuffer(); } // 检测兴趣区域位置设置 void GDDCCmdDlg::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 GDDCCmdDlg::on_pushButton_6_7_released() { clearTJDCCmdBuffer(); } // 像素选取 void GDDCCmdDlg::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); } } void GDDCCmdDlg::wheelSwipe(int value) { if(value > 0)//鼠标前滚 { on_pushButton_3_4_pressed(); } else if(value < 0) { on_pushButton_3_5_pressed(); } else if(value == 0) { on_pushButton_3_4_released(); } //qDebug() << value; } void GDDCCmdDlg::setMoveParm(QPointF size) { int x = std::clamp(static_cast(size.x()/10), -60, 60); int y = std::clamp(static_cast(- size.y()/10), -60, 60); // qDebug() << "缩减之后的屏幕滑动参数==>" << "x:" << x << "y:" << y; TJDCCmdBuffer[5] = (std::byte)0x70; TJDCCmdBuffer[6] = (std::byte)(x & 0xFF); TJDCCmdBuffer[7] = (std::byte)((x >> 8) & 0xFF); TJDCCmdBuffer[8] = (std::byte)(y & 0xFF); TJDCCmdBuffer[9] = (std::byte)((y >> 8) & 0xFF); //qDebug() << (int)TJDCCmdBuffer[6] << "---" << (int)TJDCCmdBuffer[7]; } /************************************************* * @func * @brief 设置调查控制页面图标 **************************************************/ void GDDCCmdDlg::setPodIco() { ui->pushButton_5_1->setIcon(QIcon(":/img/Pod/podUp.png")); ui->pushButton_5_1->setIconSize(QSize(53, 53)); ui->pushButton_5_1->setStyleSheet("QPushButton { border: none; }"); ui->pushButton_5_2->setIcon(QIcon(":/img/Pod/podLeft.png")); ui->pushButton_5_2->setIconSize(QSize(53, 53)); ui->pushButton_5_2->setStyleSheet("QPushButton { border: none; }"); ui->pushButton_5_3->setIcon(QIcon(":/img/Pod/podDown.png")); ui->pushButton_5_3->setIconSize(QSize(53, 53)); ui->pushButton_5_3->setStyleSheet("QPushButton { border: none; }"); ui->pushButton_5_4->setIcon(QIcon(":/img/Pod/podRight.png")); ui->pushButton_5_4->setIconSize(QSize(53, 53)); ui->pushButton_5_4->setStyleSheet("QPushButton { border: none; }"); ui->pushButton_5_5->setIcon(QIcon(":/img/Pod/Center.png")); ui->pushButton_5_5->setIconSize(QSize(53, 53)); ui->pushButton_5_5->setStyleSheet("QPushButton { border: none; }"); }