|
|
@ -2,120 +2,120 @@
|
|
|
|
#include "ui_gddcStateInfo.h"
|
|
|
|
#include "ui_gddcStateInfo.h"
|
|
|
|
|
|
|
|
|
|
|
|
GDDCStateInfo::GDDCStateInfo(QWidget *parent)
|
|
|
|
GDDCStateInfo::GDDCStateInfo(QWidget *parent)
|
|
|
|
: QWidget(parent)
|
|
|
|
: QWidget(parent), ui(new Ui::GDDCStateInfo) {
|
|
|
|
, ui(new Ui::GDDCStateInfo)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
ui->setupUi(this);
|
|
|
|
initParam();
|
|
|
|
initParam();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
GDDCStateInfo::~GDDCStateInfo()
|
|
|
|
GDDCStateInfo::~GDDCStateInfo() {
|
|
|
|
{
|
|
|
|
|
|
|
|
delete m_tableModel;
|
|
|
|
delete m_tableModel;
|
|
|
|
delete ui;
|
|
|
|
delete ui;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//初始化参数
|
|
|
|
// 初始化参数
|
|
|
|
void GDDCStateInfo::initParam()
|
|
|
|
void GDDCStateInfo::initParam() {
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_tableModel = new QStandardItemModel();
|
|
|
|
m_tableModel = new QStandardItemModel();
|
|
|
|
m_tableModel->setHorizontalHeaderItem(0,new QStandardItem("类型"));
|
|
|
|
m_tableModel->setHorizontalHeaderItem(0, new QStandardItem("类型"));
|
|
|
|
m_tableModel->setHorizontalHeaderItem(1,new QStandardItem("详细信息"));
|
|
|
|
m_tableModel->setHorizontalHeaderItem(1, new QStandardItem("详细信息"));
|
|
|
|
// m_tableModel->setVerticalHeaderItem(0,new QStandardItem("序号"));
|
|
|
|
// m_tableModel->setVerticalHeaderItem(0,new QStandardItem("序号"));
|
|
|
|
ui->tableViewShowIState->setModel(m_tableModel);
|
|
|
|
ui->tableViewShowIState->setModel(m_tableModel);
|
|
|
|
//栅格显示或隐藏
|
|
|
|
// 栅格显示或隐藏
|
|
|
|
ui->tableViewShowIState->setShowGrid(true);
|
|
|
|
ui->tableViewShowIState->setShowGrid(true);
|
|
|
|
// 固定表格宽度不可扩展,不可手动调整宽度
|
|
|
|
// 固定表格宽度不可扩展,不可手动调整宽度
|
|
|
|
ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
|
|
|
|
ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(
|
|
|
|
|
|
|
|
QHeaderView::Fixed);
|
|
|
|
// 表格宽度随内容自动扩展
|
|
|
|
// 表格宽度随内容自动扩展
|
|
|
|
//ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
|
|
|
// ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
|
|
|
// 表格宽度自动根据UI进行计算,不可手动调整宽度
|
|
|
|
// 表格宽度自动根据UI进行计算,不可手动调整宽度
|
|
|
|
//ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
|
// ui->tableViewShowIState->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
|
// 固定表格高度不可扩展,不可手动调整高度
|
|
|
|
// 固定表格高度不可扩展,不可手动调整高度
|
|
|
|
ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed);
|
|
|
|
ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(
|
|
|
|
|
|
|
|
QHeaderView::Fixed);
|
|
|
|
// 表格高度随内容自动扩展
|
|
|
|
// 表格高度随内容自动扩展
|
|
|
|
//ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
|
|
|
// ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
|
|
|
// 表格高度自动根据UI进行计算,不可手动调整高度
|
|
|
|
// 表格高度自动根据UI进行计算,不可手动调整高度
|
|
|
|
//ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
|
// ui->tableViewShowIState->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
|
ui->tableViewShowIState->setEditTriggers(QAbstractItemView::NoEditTriggers); // 不可编辑
|
|
|
|
ui->tableViewShowIState->setEditTriggers(
|
|
|
|
ui->tableViewShowIState->setColumnWidth(0,100);
|
|
|
|
QAbstractItemView::NoEditTriggers); // 不可编辑
|
|
|
|
ui->tableViewShowIState->setColumnWidth(1,100);
|
|
|
|
ui->tableViewShowIState->setColumnWidth(0, 100);
|
|
|
|
|
|
|
|
ui->tableViewShowIState->setColumnWidth(1, 100);
|
|
|
|
|
|
|
|
|
|
|
|
m_tableModel->setItem(0,0,new QStandardItem("跟踪源类型"));
|
|
|
|
m_tableModel->setItem(0, 0, new QStandardItem("跟踪源类型"));
|
|
|
|
m_tableModel->setItem(1,0,new QStandardItem("姿态方位角"));
|
|
|
|
m_tableModel->setItem(1, 0, new QStandardItem("姿态方位角"));
|
|
|
|
m_tableModel->setItem(2,0,new QStandardItem("姿态俯仰角"));
|
|
|
|
m_tableModel->setItem(2, 0, new QStandardItem("姿态俯仰角"));
|
|
|
|
m_tableModel->setItem(3,0,new QStandardItem("姿态横滚角"));
|
|
|
|
m_tableModel->setItem(3, 0, new QStandardItem("姿态横滚角"));
|
|
|
|
m_tableModel->setItem(4,0,new QStandardItem("中心点宽坐标"));
|
|
|
|
m_tableModel->setItem(4, 0, new QStandardItem("中心点宽坐标"));
|
|
|
|
m_tableModel->setItem(5,0,new QStandardItem("中心点高坐标"));
|
|
|
|
m_tableModel->setItem(5, 0, new QStandardItem("中心点高坐标"));
|
|
|
|
m_tableModel->setItem(6,0,new QStandardItem("可见光焦距"));
|
|
|
|
m_tableModel->setItem(6, 0, new QStandardItem("可见光焦距"));
|
|
|
|
m_tableModel->setItem(7,0,new QStandardItem("可见光视场角"));
|
|
|
|
m_tableModel->setItem(7, 0, new QStandardItem("可见光视场角"));
|
|
|
|
m_tableModel->setItem(8,0,new QStandardItem("红外焦距"));
|
|
|
|
m_tableModel->setItem(8, 0, new QStandardItem("红外焦距"));
|
|
|
|
m_tableModel->setItem(9,0,new QStandardItem("红外视场角"));
|
|
|
|
m_tableModel->setItem(9, 0, new QStandardItem("红外视场角"));
|
|
|
|
m_tableModel->setItem(10,0,new QStandardItem("激光测距值"));
|
|
|
|
m_tableModel->setItem(10, 0, new QStandardItem("激光测距值"));
|
|
|
|
m_tableModel->setItem(11,0,new QStandardItem("命令反馈"));
|
|
|
|
m_tableModel->setItem(11, 0, new QStandardItem("命令反馈"));
|
|
|
|
m_tableModel->setItem(12,0,new QStandardItem("视频输出类型"));
|
|
|
|
m_tableModel->setItem(12, 0, new QStandardItem("视频输出类型"));
|
|
|
|
m_tableModel->setItem(13,0,new QStandardItem("红外电子变倍"));
|
|
|
|
m_tableModel->setItem(13, 0, new QStandardItem("红外电子变倍"));
|
|
|
|
m_tableModel->setItem(14,0,new QStandardItem("可见光电子放大"));
|
|
|
|
m_tableModel->setItem(14, 0, new QStandardItem("可见光电子放大"));
|
|
|
|
m_tableModel->setItem(15,0,new QStandardItem("吊舱框架方位角"));
|
|
|
|
m_tableModel->setItem(15, 0, new QStandardItem("吊舱框架方位角"));
|
|
|
|
m_tableModel->setItem(16,0,new QStandardItem("吊舱框架俯仰角"));
|
|
|
|
m_tableModel->setItem(16, 0, new QStandardItem("吊舱框架俯仰角"));
|
|
|
|
m_tableModel->setItem(17,0,new QStandardItem("吊舱框架横滚角"));
|
|
|
|
m_tableModel->setItem(17, 0, new QStandardItem("吊舱框架横滚角"));
|
|
|
|
m_tableModel->setItem(18,0,new QStandardItem("TF剩余百分比"));
|
|
|
|
m_tableModel->setItem(18, 0, new QStandardItem("TF剩余百分比"));
|
|
|
|
m_tableModel->setItem(19,0,new QStandardItem("TF卡总容量"));
|
|
|
|
m_tableModel->setItem(19, 0, new QStandardItem("TF卡总容量"));
|
|
|
|
m_tableModel->setItem(20,0,new QStandardItem("TF插卡状态"));
|
|
|
|
m_tableModel->setItem(20, 0, new QStandardItem("TF插卡状态"));
|
|
|
|
m_tableModel->setItem(21,0,new QStandardItem("拍照"));
|
|
|
|
m_tableModel->setItem(21, 0, new QStandardItem("拍照"));
|
|
|
|
m_tableModel->setItem(22,0,new QStandardItem("视频抓图"));
|
|
|
|
m_tableModel->setItem(22, 0, new QStandardItem("视频抓图"));
|
|
|
|
m_tableModel->setItem(23,0,new QStandardItem("连拍"));
|
|
|
|
m_tableModel->setItem(23, 0, new QStandardItem("连拍"));
|
|
|
|
m_tableModel->setItem(24,0,new QStandardItem("视频连续抓图"));
|
|
|
|
m_tableModel->setItem(24, 0, new QStandardItem("视频连续抓图"));
|
|
|
|
m_tableModel->setItem(25,0,new QStandardItem("录像状态"));
|
|
|
|
m_tableModel->setItem(25, 0, new QStandardItem("录像状态"));
|
|
|
|
m_tableModel->setItem(26,0,new QStandardItem("文件命名"));
|
|
|
|
m_tableModel->setItem(26, 0, new QStandardItem("文件命名"));
|
|
|
|
m_tableModel->setItem(27,0,new QStandardItem("当前图像反馈"));
|
|
|
|
m_tableModel->setItem(27, 0, new QStandardItem("当前图像反馈"));
|
|
|
|
m_tableModel->setItem(28,0,new QStandardItem("载荷类型"));
|
|
|
|
m_tableModel->setItem(28, 0, new QStandardItem("载荷类型"));
|
|
|
|
m_tableModel->setItem(29,0,new QStandardItem("红外机芯"));
|
|
|
|
m_tableModel->setItem(29, 0, new QStandardItem("红外机芯"));
|
|
|
|
m_tableModel->setItem(30,0,new QStandardItem("可见光机芯"));
|
|
|
|
m_tableModel->setItem(30, 0, new QStandardItem("可见光机芯"));
|
|
|
|
m_tableModel->setItem(31,0,new QStandardItem("陀螺仪"));
|
|
|
|
m_tableModel->setItem(31, 0, new QStandardItem("陀螺仪"));
|
|
|
|
m_tableModel->setItem(32,0,new QStandardItem("角度传感器"));
|
|
|
|
m_tableModel->setItem(32, 0, new QStandardItem("角度传感器"));
|
|
|
|
m_tableModel->setItem(33,0,new QStandardItem("电机"));
|
|
|
|
m_tableModel->setItem(33, 0, new QStandardItem("电机"));
|
|
|
|
m_tableModel->setItem(34,0,new QStandardItem("压缩"));
|
|
|
|
m_tableModel->setItem(34, 0, new QStandardItem("压缩"));
|
|
|
|
m_tableModel->setItem(35,0,new QStandardItem("综合控制"));
|
|
|
|
m_tableModel->setItem(35, 0, new QStandardItem("综合控制"));
|
|
|
|
m_tableModel->setItem(36,0,new QStandardItem("吊舱准备状态"));
|
|
|
|
m_tableModel->setItem(36, 0, new QStandardItem("吊舱准备状态"));
|
|
|
|
m_tableModel->setItem(37,0,new QStandardItem("红外伪彩"));
|
|
|
|
m_tableModel->setItem(37, 0, new QStandardItem("红外伪彩"));
|
|
|
|
m_tableModel->setItem(38,0,new QStandardItem("红外图像增强"));
|
|
|
|
m_tableModel->setItem(38, 0, new QStandardItem("红外图像增强"));
|
|
|
|
m_tableModel->setItem(39,0,new QStandardItem("当前载荷版本"));
|
|
|
|
m_tableModel->setItem(39, 0, new QStandardItem("当前载荷版本"));
|
|
|
|
m_tableModel->setItem(40,0,new QStandardItem("目标定位经度"));
|
|
|
|
m_tableModel->setItem(40, 0, new QStandardItem("目标定位经度"));
|
|
|
|
m_tableModel->setItem(41,0,new QStandardItem("目标定位纬度"));
|
|
|
|
m_tableModel->setItem(41, 0, new QStandardItem("目标定位纬度"));
|
|
|
|
m_tableModel->setItem(42,0,new QStandardItem("目标海拔高度"));
|
|
|
|
m_tableModel->setItem(42, 0, new QStandardItem("目标海拔高度"));
|
|
|
|
m_tableModel->setItem(43,0,new QStandardItem("姿态指示完成反馈"));
|
|
|
|
m_tableModel->setItem(43, 0, new QStandardItem("姿态指示完成反馈"));
|
|
|
|
m_tableModel->setItem(44,0,new QStandardItem("目标宽"));
|
|
|
|
m_tableModel->setItem(44, 0, new QStandardItem("目标宽"));
|
|
|
|
m_tableModel->setItem(45,0,new QStandardItem("目标高"));
|
|
|
|
m_tableModel->setItem(45, 0, new QStandardItem("目标高"));
|
|
|
|
m_tableModel->setItem(46,0,new QStandardItem("目标类型"));
|
|
|
|
m_tableModel->setItem(46, 0, new QStandardItem("目标类型"));
|
|
|
|
m_tableModel->setItem(47,0,new QStandardItem("跟踪状态"));
|
|
|
|
m_tableModel->setItem(47, 0, new QStandardItem("跟踪状态"));
|
|
|
|
m_tableModel->setItem(48,0,new QStandardItem("最高温"));
|
|
|
|
m_tableModel->setItem(48, 0, new QStandardItem("最高温"));
|
|
|
|
m_tableModel->setItem(49,0,new QStandardItem("配置保存"));
|
|
|
|
m_tableModel->setItem(49, 0, new QStandardItem("配置保存"));
|
|
|
|
m_tableModel->setItem(50,0,new QStandardItem("伺服状态"));
|
|
|
|
m_tableModel->setItem(50, 0, new QStandardItem("伺服状态"));
|
|
|
|
m_tableModel->setItem(51,0,new QStandardItem("超温报警"));
|
|
|
|
m_tableModel->setItem(51, 0, new QStandardItem("超温报警"));
|
|
|
|
m_tableModel->setItem(52,0,new QStandardItem("红点指示"));
|
|
|
|
m_tableModel->setItem(52, 0, new QStandardItem("红点指示"));
|
|
|
|
//ui->tableViewShowIState->horizontalHeader()->setStyleSheet("QHeaderView::section{background:rgb(255,228,225);color: black;}");
|
|
|
|
// ui->tableViewShowIState->horizontalHeader()->setStyleSheet("QHeaderView::section{background:rgb(255,228,225);color:
|
|
|
|
|
|
|
|
// black;}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 设置tabwidget的几何位置
|
|
|
|
|
|
|
|
void GDDCStateInfo::setTableViewGeometry(int ax, int ay, int aw, int ah) {
|
|
|
|
|
|
|
|
ui->tableViewShowIState->setGeometry(ax, ay, aw, ah);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief udp数据接收
|
|
|
|
* @brief udp数据接收
|
|
|
|
* @param da 数据
|
|
|
|
* @param da 数据
|
|
|
|
* @param size 数据大小
|
|
|
|
* @param size 数据大小
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
void GDDCStateInfo::UDPMessageReceive(QByteArray &da, int size) {
|
|
|
|
{
|
|
|
|
|
|
|
|
QByteArray data = da;
|
|
|
|
QByteArray data = da;
|
|
|
|
//data.resize(size);
|
|
|
|
// data.resize(size);
|
|
|
|
|
|
|
|
|
|
|
|
qDebug()<<data.data();
|
|
|
|
qDebug() << data.data();
|
|
|
|
if(checkdata(data,data.size(),1))
|
|
|
|
if (checkdata(data, data.size(), 1)) {
|
|
|
|
{
|
|
|
|
|
|
|
|
QString str;
|
|
|
|
QString str;
|
|
|
|
double dou;
|
|
|
|
double dou;
|
|
|
|
float flo;
|
|
|
|
float flo;
|
|
|
|
//载荷类型
|
|
|
|
// 载荷类型
|
|
|
|
switch(data.at(2))
|
|
|
|
switch (data.at(2)) {
|
|
|
|
{
|
|
|
|
|
|
|
|
case '\x01':
|
|
|
|
case '\x01':
|
|
|
|
str = "白光";
|
|
|
|
str = "白光";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -135,178 +135,158 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(28,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(28, 1, new QStandardItem(str));
|
|
|
|
|
|
|
|
|
|
|
|
/*****自检结果*****/
|
|
|
|
/*****自检结果*****/
|
|
|
|
//红外机芯
|
|
|
|
// 红外机芯
|
|
|
|
if((data.at(3)&'\x01')==0x01){
|
|
|
|
if ((data.at(3) & '\x01') == 0x01) {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(29,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(29, 1, new QStandardItem(str));
|
|
|
|
//可见光机芯
|
|
|
|
// 可见光机芯
|
|
|
|
if((data.at(3)>>1)&'\x01'){
|
|
|
|
if ((data.at(3) >> 1) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(30,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(30, 1, new QStandardItem(str));
|
|
|
|
//陀螺仪
|
|
|
|
// 陀螺仪
|
|
|
|
if((data.at(3)>>2)&'\x01'){
|
|
|
|
if ((data.at(3) >> 2) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(31,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(31, 1, new QStandardItem(str));
|
|
|
|
//角度传感器
|
|
|
|
// 角度传感器
|
|
|
|
if((data.at(3)>>3)&'\x01'){
|
|
|
|
if ((data.at(3) >> 3) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(32,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(32, 1, new QStandardItem(str));
|
|
|
|
//驱动板-电机
|
|
|
|
// 驱动板-电机
|
|
|
|
if((data.at(3)>>4)&'\x01'){
|
|
|
|
if ((data.at(3) >> 4) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(33,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(33, 1, new QStandardItem(str));
|
|
|
|
//压缩存储
|
|
|
|
// 压缩存储
|
|
|
|
if((data.at(3)>>5)&'\x01'){
|
|
|
|
if ((data.at(3) >> 5) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(34,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(34, 1, new QStandardItem(str));
|
|
|
|
//综合处理
|
|
|
|
// 综合处理
|
|
|
|
if((data.at(3)>>6)&'\x01'){
|
|
|
|
if ((data.at(3) >> 6) & '\x01') {
|
|
|
|
str = "正常";
|
|
|
|
str = "正常";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "异常";
|
|
|
|
str = "异常";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(35,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(35, 1, new QStandardItem(str));
|
|
|
|
//吊舱准备状态
|
|
|
|
// 吊舱准备状态
|
|
|
|
if((data.at(3)>>7)&'\x01'){
|
|
|
|
if ((data.at(3) >> 7) & '\x01') {
|
|
|
|
str = "已准备好";
|
|
|
|
str = "已准备好";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未准备好";
|
|
|
|
str = "未准备好";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(36,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(36, 1, new QStandardItem(str));
|
|
|
|
|
|
|
|
|
|
|
|
/*****吊舱状态1******/
|
|
|
|
/*****吊舱状态1******/
|
|
|
|
//拍照
|
|
|
|
// 拍照
|
|
|
|
if(data.at(4)&'\x01'){
|
|
|
|
if (data.at(4) & '\x01') {
|
|
|
|
str = "正在拍照";
|
|
|
|
str = "正在拍照";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未拍照";
|
|
|
|
str = "未拍照";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(21,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(21, 1, new QStandardItem(str));
|
|
|
|
//视频抓图
|
|
|
|
// 视频抓图
|
|
|
|
if((data.at(4)>>1)&'\x01'){
|
|
|
|
if ((data.at(4) >> 1) & '\x01') {
|
|
|
|
str = "正在抓图";
|
|
|
|
str = "正在抓图";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未抓图";
|
|
|
|
str = "未抓图";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(22,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(22, 1, new QStandardItem(str));
|
|
|
|
//连拍
|
|
|
|
// 连拍
|
|
|
|
if((data.at(4)>>2)&'\x01'){
|
|
|
|
if ((data.at(4) >> 2) & '\x01') {
|
|
|
|
str = "正在连拍";
|
|
|
|
str = "正在连拍";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未连拍";
|
|
|
|
str = "未连拍";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(23,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(23, 1, new QStandardItem(str));
|
|
|
|
//视频连续抓图
|
|
|
|
// 视频连续抓图
|
|
|
|
if((data.at(4)>>3)&'\x01'){
|
|
|
|
if ((data.at(4) >> 3) & '\x01') {
|
|
|
|
str = "正在连续抓图";
|
|
|
|
str = "正在连续抓图";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未连续抓图";
|
|
|
|
str = "未连续抓图";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(24,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(24, 1, new QStandardItem(str));
|
|
|
|
//录像状态
|
|
|
|
// 录像状态
|
|
|
|
if((data.at(4)>>4)&'\x01'){
|
|
|
|
if ((data.at(4) >> 4) & '\x01') {
|
|
|
|
str = "正在录像";
|
|
|
|
str = "正在录像";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未开始录像";
|
|
|
|
str = "未开始录像";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(25,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(25, 1, new QStandardItem(str));
|
|
|
|
//文件命名
|
|
|
|
// 文件命名
|
|
|
|
if((data.at(4)>>5)&'\x01'){
|
|
|
|
if ((data.at(4) >> 5) & '\x01') {
|
|
|
|
str = "信息导入完毕";
|
|
|
|
str = "信息导入完毕";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未成功导入";
|
|
|
|
str = "未成功导入";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(26,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(26, 1, new QStandardItem(str));
|
|
|
|
//TF插卡状态
|
|
|
|
// TF插卡状态
|
|
|
|
if((data.at(4)>>6)&'\x01'){
|
|
|
|
if ((data.at(4) >> 6) & '\x01') {
|
|
|
|
str = "TF卡已插入";
|
|
|
|
str = "TF卡已插入";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "TF卡未插入";
|
|
|
|
str = "TF卡未插入";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(20,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(20, 1, new QStandardItem(str));
|
|
|
|
//超温报警状态
|
|
|
|
// 超温报警状态
|
|
|
|
if((data.at(4)>>7)&'\x01'){
|
|
|
|
if ((data.at(4) >> 7) & '\x01') {
|
|
|
|
str = "超温";
|
|
|
|
str = "超温";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未超温";
|
|
|
|
str = "未超温";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(51,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(51, 1, new QStandardItem(str));
|
|
|
|
//红点指示
|
|
|
|
// 红点指示
|
|
|
|
if(data.at(5)&'\x01'){
|
|
|
|
if (data.at(5) & '\x01') {
|
|
|
|
str = "开";
|
|
|
|
str = "开";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "关";
|
|
|
|
str = "关";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(52,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(52, 1, new QStandardItem(str));
|
|
|
|
//备用
|
|
|
|
// 备用
|
|
|
|
//红外图像增强
|
|
|
|
// 红外图像增强
|
|
|
|
str = QString::number((data.at(5)>>3)&'\x0F');
|
|
|
|
str = QString::number((data.at(5) >> 3) & '\x0F');
|
|
|
|
m_tableModel->setItem(38,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(38, 1, new QStandardItem(str));
|
|
|
|
//备用
|
|
|
|
// 备用
|
|
|
|
//备用
|
|
|
|
// 备用
|
|
|
|
|
|
|
|
|
|
|
|
/*****吊舱状态2******/
|
|
|
|
/*****吊舱状态2******/
|
|
|
|
//备用
|
|
|
|
// 备用
|
|
|
|
//跟踪源类型
|
|
|
|
// 跟踪源类型
|
|
|
|
if(data.at(6)&'\x02'){
|
|
|
|
if (data.at(6) & '\x02') {
|
|
|
|
str = "可见光";
|
|
|
|
str = "可见光";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "红外";
|
|
|
|
str = "红外";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(0,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(0, 1, new QStandardItem(str));
|
|
|
|
//红外电子变倍
|
|
|
|
// 红外电子变倍
|
|
|
|
str = QString::number(((data.at(6)>>2)&'\x7F')*0.1,'f', 1);
|
|
|
|
str = QString::number(((data.at(6) >> 2) & '\x7F') * 0.1, 'f', 1);
|
|
|
|
m_tableModel->setItem(13,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(13, 1, new QStandardItem(str));
|
|
|
|
//配置保存
|
|
|
|
// 配置保存
|
|
|
|
if(data.at(7)&'\x01'){
|
|
|
|
if (data.at(7) & '\x01') {
|
|
|
|
str = "保存成功";
|
|
|
|
str = "保存成功";
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
else{
|
|
|
|
|
|
|
|
str = "未保存";
|
|
|
|
str = "未保存";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(49,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(49, 1, new QStandardItem(str));
|
|
|
|
//可见光电子变倍
|
|
|
|
// 可见光电子变倍
|
|
|
|
switch((data.at(7)>>1)&'\x03')
|
|
|
|
switch ((data.at(7) >> 1) & '\x03') {
|
|
|
|
{
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
case 0:
|
|
|
|
str = "1x";
|
|
|
|
str = "1x";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -320,10 +300,9 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(14,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(14, 1, new QStandardItem(str));
|
|
|
|
//红外伪彩-色带
|
|
|
|
// 红外伪彩-色带
|
|
|
|
switch((data.at(7)>>3)&'\x1F')
|
|
|
|
switch ((data.at(7) >> 3) & '\x1F') {
|
|
|
|
{
|
|
|
|
|
|
|
|
case 0x00:
|
|
|
|
case 0x00:
|
|
|
|
str = "白热";
|
|
|
|
str = "白热";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -364,12 +343,11 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(37,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(37, 1, new QStandardItem(str));
|
|
|
|
|
|
|
|
|
|
|
|
/*********伺服状态********/
|
|
|
|
/*********伺服状态********/
|
|
|
|
//红外伪彩-色带
|
|
|
|
// 红外伪彩-色带
|
|
|
|
switch((data.at(7)>>3)&'\x1F')
|
|
|
|
switch ((data.at(7) >> 3) & '\x1F') {
|
|
|
|
{
|
|
|
|
|
|
|
|
case 0x00:
|
|
|
|
case 0x00:
|
|
|
|
str = "待命";
|
|
|
|
str = "待命";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -419,76 +397,77 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "";
|
|
|
|
str = "";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(50,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(50, 1, new QStandardItem(str));
|
|
|
|
//吊舱框架方位角
|
|
|
|
// 吊舱框架方位角
|
|
|
|
dou = (data.at(9)+data.at(10)*256)*0.01;
|
|
|
|
dou = (data.at(9) + data.at(10) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f', 2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(15,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(15, 1, new QStandardItem(str));
|
|
|
|
//吊舱框架俯仰角
|
|
|
|
// 吊舱框架俯仰角
|
|
|
|
dou = (data.at(11)+data.at(12)*256)*0.01;
|
|
|
|
dou = (data.at(11) + data.at(12) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f', 2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(16,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(16, 1, new QStandardItem(str));
|
|
|
|
//吊舱框架横滚角
|
|
|
|
// 吊舱框架横滚角
|
|
|
|
dou = (data.at(13)+data.at(14)*256)*0.01;
|
|
|
|
dou = (data.at(13) + data.at(14) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f', 2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(17,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(17, 1, new QStandardItem(str));
|
|
|
|
//当前载荷版本号
|
|
|
|
// 当前载荷版本号
|
|
|
|
str = QString::number(data.at(15)>>4) + "." + QString::number(data.at(15)&'\x07');
|
|
|
|
str = QString::number(data.at(15) >> 4) + "." +
|
|
|
|
m_tableModel->setItem(39,1,new QStandardItem(str));
|
|
|
|
QString::number(data.at(15) & '\x07');
|
|
|
|
//红外视场角
|
|
|
|
m_tableModel->setItem(39, 1, new QStandardItem(str));
|
|
|
|
dou = ((UINT8)data[16]+(UINT16)data[17]*256)*0.1;
|
|
|
|
// 红外视场角
|
|
|
|
str = QString::number(dou,'f', 1);
|
|
|
|
dou = ((UINT8)data[16] + (UINT16)data[17] * 256) * 0.1;
|
|
|
|
m_tableModel->setItem(9,1,new QStandardItem(str));
|
|
|
|
str = QString::number(dou, 'f', 1);
|
|
|
|
//TF使用容量百分比
|
|
|
|
m_tableModel->setItem(9, 1, new QStandardItem(str));
|
|
|
|
str = QString::number((UINT8)data.at(18))+"%";
|
|
|
|
// TF使用容量百分比
|
|
|
|
m_tableModel->setItem(18,1,new QStandardItem(str));
|
|
|
|
str = QString::number((UINT8)data.at(18)) + "%";
|
|
|
|
//可见光视场角
|
|
|
|
m_tableModel->setItem(18, 1, new QStandardItem(str));
|
|
|
|
dou = ((UINT8)data.at(19)+(UINT16)data.at(20)*256)*0.1;
|
|
|
|
// 可见光视场角
|
|
|
|
str = QString::number(dou,'f', 1);
|
|
|
|
dou = ((UINT8)data.at(19) + (UINT16)data.at(20) * 256) * 0.1;
|
|
|
|
m_tableModel->setItem(7,1,new QStandardItem(str));
|
|
|
|
str = QString::number(dou, 'f', 1);
|
|
|
|
//TF卡总容量
|
|
|
|
m_tableModel->setItem(7, 1, new QStandardItem(str));
|
|
|
|
dou = ((UINT8)data.at(21)+(UINT16)data.at(22)*256)*0.1;
|
|
|
|
// TF卡总容量
|
|
|
|
str = QString::number(dou,'f', 1);
|
|
|
|
dou = ((UINT8)data.at(21) + (UINT16)data.at(22) * 256) * 0.1;
|
|
|
|
m_tableModel->setItem(19,1,new QStandardItem(str));
|
|
|
|
str = QString::number(dou, 'f', 1);
|
|
|
|
//红外焦距
|
|
|
|
m_tableModel->setItem(19, 1, new QStandardItem(str));
|
|
|
|
dou = ((UINT8)data.at(23)+(UINT16)data.at(24)*256)*0.1;
|
|
|
|
// 红外焦距
|
|
|
|
str = QString::number(dou,'f', 1);
|
|
|
|
dou = ((UINT8)data.at(23) + (UINT16)data.at(24) * 256) * 0.1;
|
|
|
|
m_tableModel->setItem(8,1,new QStandardItem(str));
|
|
|
|
str = QString::number(dou, 'f', 1);
|
|
|
|
//可见光焦距-白光
|
|
|
|
m_tableModel->setItem(8, 1, new QStandardItem(str));
|
|
|
|
dou = ((UINT8)data.at(25)+(UINT16)data.at(26)*256)*0.1;
|
|
|
|
// 可见光焦距-白光
|
|
|
|
str = QString::number(dou,'f', 1);
|
|
|
|
dou = ((UINT8)data.at(25) + (UINT16)data.at(26) * 256) * 0.1;
|
|
|
|
m_tableModel->setItem(6,1,new QStandardItem(str));
|
|
|
|
str = QString::number(dou, 'f', 1);
|
|
|
|
//激光测距距离
|
|
|
|
m_tableModel->setItem(6, 1, new QStandardItem(str));
|
|
|
|
str = QString::number((UINT8)data.at(27)+(UINT16)data.at(28)*256);
|
|
|
|
// 激光测距距离
|
|
|
|
m_tableModel->setItem(10,1,new QStandardItem(str));
|
|
|
|
str = QString::number((UINT8)data.at(27) + (UINT16)data.at(28) * 256);
|
|
|
|
//目标定位经度
|
|
|
|
m_tableModel->setItem(10, 1, new QStandardItem(str));
|
|
|
|
flo = m_uint32_to_float(data.at(29),data.at(30),data.at(31),data.at(32));
|
|
|
|
// 目标定位经度
|
|
|
|
str = QString::number(flo,'f',6);
|
|
|
|
flo = m_uint32_to_float(data.at(29), data.at(30), data.at(31), data.at(32));
|
|
|
|
m_tableModel->setItem(40,1,new QStandardItem(str));
|
|
|
|
str = QString::number(flo, 'f', 6);
|
|
|
|
//目标定位纬度
|
|
|
|
m_tableModel->setItem(40, 1, new QStandardItem(str));
|
|
|
|
flo = m_uint32_to_float(data.at(33),data.at(34),data.at(35),data.at(36));
|
|
|
|
// 目标定位纬度
|
|
|
|
str = QString::number(flo,'f',6);
|
|
|
|
flo = m_uint32_to_float(data.at(33), data.at(34), data.at(35), data.at(36));
|
|
|
|
m_tableModel->setItem(41,1,new QStandardItem(str));
|
|
|
|
str = QString::number(flo, 'f', 6);
|
|
|
|
//目标海拔高度
|
|
|
|
m_tableModel->setItem(41, 1, new QStandardItem(str));
|
|
|
|
str = QString::number(data.at(37)+data.at(38)*256);
|
|
|
|
// 目标海拔高度
|
|
|
|
m_tableModel->setItem(42,1,new QStandardItem(str));
|
|
|
|
str = QString::number(data.at(37) + data.at(38) * 256);
|
|
|
|
//最高温-温度
|
|
|
|
m_tableModel->setItem(42, 1, new QStandardItem(str));
|
|
|
|
|
|
|
|
// 最高温-温度
|
|
|
|
// dou = (data.at(39)+data.at(40)*256)*0.1;
|
|
|
|
// dou = (data.at(39)+data.at(40)*256)*0.1;
|
|
|
|
// str = QString::number(dou,'f',1);
|
|
|
|
// str = QString::number(dou,'f',1);
|
|
|
|
// m_tableModel->setItem(42,1,new QStandardItem(str));
|
|
|
|
// m_tableModel->setItem(42,1,new QStandardItem(str));
|
|
|
|
//吊舱姿态方位角
|
|
|
|
// 吊舱姿态方位角
|
|
|
|
dou = (data.at(41)+data.at(42)*256)*0.01;
|
|
|
|
dou = (data.at(41) + data.at(42) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f',2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(1,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(1, 1, new QStandardItem(str));
|
|
|
|
//吊舱姿态俯仰角
|
|
|
|
// 吊舱姿态俯仰角
|
|
|
|
dou = (data.at(43)+data.at(44)*256)*0.01;
|
|
|
|
dou = (data.at(43) + data.at(44) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f',2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(2,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(2, 1, new QStandardItem(str));
|
|
|
|
//吊舱姿态横滚角
|
|
|
|
// 吊舱姿态横滚角
|
|
|
|
dou = (data.at(45)+data.at(46)*256)*0.01;
|
|
|
|
dou = (data.at(45) + data.at(46) * 256) * 0.01;
|
|
|
|
str = QString::number(dou,'f',2);
|
|
|
|
str = QString::number(dou, 'f', 2);
|
|
|
|
m_tableModel->setItem(3,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(3, 1, new QStandardItem(str));
|
|
|
|
//当前显示图像反馈
|
|
|
|
// 当前显示图像反馈
|
|
|
|
switch (data.at(47)) {
|
|
|
|
switch (data.at(47)) {
|
|
|
|
case 0x00:
|
|
|
|
case 0x00:
|
|
|
|
str = "红外";
|
|
|
|
str = "红外";
|
|
|
@ -512,11 +491,11 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(27,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(27, 1, new QStandardItem(str));
|
|
|
|
//接收到的命令字反馈
|
|
|
|
// 接收到的命令字反馈
|
|
|
|
str = QString::number(data.at(48));
|
|
|
|
str = QString::number(data.at(48));
|
|
|
|
m_tableModel->setItem(11,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(11, 1, new QStandardItem(str));
|
|
|
|
//姿态指示完成反馈
|
|
|
|
// 姿态指示完成反馈
|
|
|
|
switch (data.at(49)) {
|
|
|
|
switch (data.at(49)) {
|
|
|
|
case 0x12:
|
|
|
|
case 0x12:
|
|
|
|
str = "姿态指示中";
|
|
|
|
str = "姿态指示中";
|
|
|
@ -528,44 +507,42 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "------";
|
|
|
|
str = "------";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(43,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(43, 1, new QStandardItem(str));
|
|
|
|
//跟踪中心点宽方向坐标
|
|
|
|
// 跟踪中心点宽方向坐标
|
|
|
|
str = QString::number((UINT8)data[50]+(UINT16)data[51]*256);
|
|
|
|
str = QString::number((UINT8)data[50] + (UINT16)data[51] * 256);
|
|
|
|
m_tableModel->setItem(4,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(4, 1, new QStandardItem(str));
|
|
|
|
//跟踪中心点高方向坐标
|
|
|
|
// 跟踪中心点高方向坐标
|
|
|
|
str = QString::number((UINT8)data[52]+(UINT16)data[53]*256);
|
|
|
|
str = QString::number((UINT8)data[52] + (UINT16)data[53] * 256);
|
|
|
|
m_tableModel->setItem(5,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(5, 1, new QStandardItem(str));
|
|
|
|
//目标宽
|
|
|
|
// 目标宽
|
|
|
|
str = QString::number((UINT8)data.at(54)+data.at(55)*256);
|
|
|
|
str = QString::number((UINT8)data.at(54) + data.at(55) * 256);
|
|
|
|
m_tableModel->setItem(44,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(44, 1, new QStandardItem(str));
|
|
|
|
//目标高
|
|
|
|
// 目标高
|
|
|
|
str = QString::number((UINT8)data.at(56)+data.at(57)*256);
|
|
|
|
str = QString::number((UINT8)data.at(56) + data.at(57) * 256);
|
|
|
|
m_tableModel->setItem(45,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(45, 1, new QStandardItem(str));
|
|
|
|
//目标类型
|
|
|
|
// 目标类型
|
|
|
|
switch (data.at(58)) {
|
|
|
|
switch (data.at(58)) {
|
|
|
|
case 0x00:
|
|
|
|
case 0x00:
|
|
|
|
if(data.at(6)&'\x02'){//可见光
|
|
|
|
if (data.at(6) & '\x02') { // 可见光
|
|
|
|
str = "人";
|
|
|
|
str = "人";
|
|
|
|
}
|
|
|
|
} else { // 红外
|
|
|
|
else{//红外
|
|
|
|
|
|
|
|
str = "车";
|
|
|
|
str = "车";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 0x01:
|
|
|
|
case 0x01:
|
|
|
|
if(data.at(6)&'\x02'){//可见光
|
|
|
|
if (data.at(6) & '\x02') { // 可见光
|
|
|
|
str = "小汽车";
|
|
|
|
str = "小汽车";
|
|
|
|
}
|
|
|
|
} else { // 红外
|
|
|
|
else{//红外
|
|
|
|
|
|
|
|
str = "人";
|
|
|
|
str = "人";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 0x02:
|
|
|
|
case 0x02:
|
|
|
|
if(data.at(6)&'\x02'){//可见光
|
|
|
|
if (data.at(6) & '\x02') { // 可见光
|
|
|
|
str = "公交车";
|
|
|
|
str = "公交车";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 0x03:
|
|
|
|
case 0x03:
|
|
|
|
if(data.at(6)&'\x02'){//可见光
|
|
|
|
if (data.at(6) & '\x02') { // 可见光
|
|
|
|
str = "卡车";
|
|
|
|
str = "卡车";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -573,8 +550,8 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(46,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(46, 1, new QStandardItem(str));
|
|
|
|
//跟踪状态
|
|
|
|
// 跟踪状态
|
|
|
|
switch (data.at(59)) {
|
|
|
|
switch (data.at(59)) {
|
|
|
|
case 0x00:
|
|
|
|
case 0x00:
|
|
|
|
str = "空闲状态";
|
|
|
|
str = "空闲状态";
|
|
|
@ -595,37 +572,32 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da,int size)
|
|
|
|
str = "未知";
|
|
|
|
str = "未知";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_tableModel->setItem(47,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(47, 1, new QStandardItem(str));
|
|
|
|
//最高温
|
|
|
|
// 最高温
|
|
|
|
dou = (data.at(60)+data.at(61)*256)*0.1;
|
|
|
|
dou = (data.at(60) + data.at(61) * 256) * 0.1;
|
|
|
|
str = QString::number(dou,'f',1)+"℃";
|
|
|
|
str = QString::number(dou, 'f', 1) + "℃";
|
|
|
|
m_tableModel->setItem(48,1,new QStandardItem(str));
|
|
|
|
m_tableModel->setItem(48, 1, new QStandardItem(str));
|
|
|
|
//
|
|
|
|
//
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool GDDCStateInfo::checkdata(QByteArray buffer,int length, int type)
|
|
|
|
bool GDDCStateInfo::checkdata(QByteArray buffer, int length, int type) {
|
|
|
|
{
|
|
|
|
if (length != 64) {
|
|
|
|
if(length!=64){
|
|
|
|
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if((buffer.at(0) != '\xFC')||(buffer.at(1) != '\x2C')||buffer.at(63) !='\xF0')
|
|
|
|
if ((buffer.at(0) != '\xFC') || (buffer.at(1) != '\x2C') ||
|
|
|
|
{
|
|
|
|
buffer.at(63) != '\xF0') {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(type==1)
|
|
|
|
if (type == 1) {
|
|
|
|
{
|
|
|
|
// 亦或校验
|
|
|
|
//亦或校验
|
|
|
|
|
|
|
|
// for(int i = 2;i<62;++i)
|
|
|
|
// for(int i = 2;i<62;++i)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// buffer.at(i)^buffer.at(i+1);
|
|
|
|
// buffer.at(i)^buffer.at(i+1);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
} else if (type == 2) {
|
|
|
|
else if (type==2)
|
|
|
|
// 和校验
|
|
|
|
{
|
|
|
|
|
|
|
|
//和校验
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|