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/gddcCmdDlg.cpp

927 lines
28 KiB
C++

#include "gddcCmdDlg.h"
#include "ui_gddcCmdDlg.h"
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");
/*稳定平台*/
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;
}
// 更新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_11_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x32;
}
// 松开
void GDDCCmdDlg::on_pushButton_11_released() { clearTJDCCmdBuffer(); }
// 授时
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;
}
void GDDCCmdDlg::on_pushButton_3_4_released() {
clearTJDCCmdBuffer();
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x00;
}
// 变倍-
void GDDCCmdDlg::on_pushButton_3_5_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x02;
}
void GDDCCmdDlg::on_pushButton_3_5_released() {
clearTJDCCmdBuffer();
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x00;
}
// 可见光镜头初始化
void GDDCCmdDlg::on_pushButton_3_6_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x41;
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)0x4A;
TJDCCmdBuffer[1] = (std::byte)0x00;
} else {
TJDCCmdBuffer[0] = (std::byte)0x4A;
TJDCCmdBuffer[1] = (std::byte)0x01;
}
}
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)0x58;
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_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);
}
}