添加check界面

This commit is contained in:
2020-06-18 18:13:25 +08:00
parent bb7b013210
commit 7d07e282ed
9 changed files with 191 additions and 82 deletions
+73 -31
View File
@@ -1,53 +1,95 @@
{
"comment": "Custom",
"version": 1,
"spacing" : 10,
"spacing" : 20,
"Width": 200,
"Height": 60,
"Button": [
{
"Text" : "Init",
"Text" : "数据链路",
"row": 0,
"column": 0,
"command": 400,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 1,
"param2": 2,
"param3": 3,
"param4": 4,
"param5": 5,
"param6": 6,
"param7": 7
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
},
{
"Text" : "Pass",
"Text" : "电源检查",
"row": 1,
"column": 0,
"command": 1,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 7,
"param2": 6,
"param3": 5,
"param4": 4,
"param5": 3,
"param6": 2,
"param7": 1
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
},
{
"Text" : "Fail",
"Text" : "定位系统",
"row": 2,
"column": 0,
"command": 900,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 7,
"param2": 6,
"param3": 5,
"param4": 4,
"param5": 3,
"param6": 2,
"param7": 1
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
},
{
"Text" : "姿态检查",
"row": 3,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
},
{
"Text" : "遥控器检查",
"row": 4,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
},
{
"Text" : "目标装订",
"row": 5,
"column": 1,
"command": 0,
"confirm": 0,
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0,
"param5": 0,
"param6": 0,
"param7": 0
}
]
}
+69 -30
View File
@@ -5,6 +5,8 @@
const char* CheckUI::_versionJsonKey = "version";
const char* CheckUI::_spacingJsonKey = "spacing";
const char* CheckUI::_commentJsonKey = "comment";
const char* CheckUI::_ButtonJsonKey = "Button";
@@ -52,7 +54,8 @@ CheckUI::CheckUI(QWidget *parent) :
loadCommandJson(":/json/Check.json");
//loadCommandJson("./json/Check.json");
//ui->groupBox_Command->setTitle(tr("Command Version:") + QString::number(CMD_version));
ui->gridLayout_Check->setSpacing(spacing);
for(QJsonValue info: infoArray) {
if (!info.isObject()) {
@@ -117,6 +120,7 @@ void CheckUI::loadCommandJson(const QString& jsonFilename)
version = json.value(_versionJsonKey).toInt();
qDebug() << "command version :" << version;
spacing = json.value(_spacingJsonKey).toInt();
width = json.value(_WidthJsonKey).toInt();
height = json.value(_HeightJsonKey).toInt();
@@ -165,36 +169,8 @@ void CheckUI::loadCommandJson(const QString& jsonFilename)
uint16_t command = info.toObject().find(_commandJsonKey).value().toInt();
uint8_t confirm = info.toObject().find(_confirmJsonKey).value().toInt();
emit cmd_long(param1,param2, param3,param4,param5,param6,param7,command,confirm);
}
}
if(btn->text() == tr("Init"))
{
QObjectList Olist = this->children();
foreach (QObject *obj, Olist) {
QPushButton *btnn = qobject_cast<QPushButton *>(obj);
if(btnn)//如果存在
{
btnn->setProperty("CheckState",CheckState::Init);
btnn->style()->unpolish(btnn);
btnn->style()->polish(btnn);
}
}
}
else if(btn->text() == tr("Pass"))
{
btn->setProperty("CheckState",CheckState::Pass);
btn->style()->unpolish(btn);
btn->style()->polish(btn);
}
else if(btn->text() == tr("Fail"))
{
btn->setProperty("CheckState",CheckState::Fail);
btn->style()->unpolish(btn);
btn->style()->polish(btn);
}
}
@@ -204,7 +180,70 @@ void CheckUI::feedback(bool flag)
}
void CheckUI::RecieveMsg(mavlink_message_t msg)
{
switch (msg.msgid) {
case MAVLINK_MSG_ID_AUTOPILOT_VERSION: {
mavlink_msg_autopilot_version_decode(&msg,&autopilot_version);
}break;
case MAVLINK_MSG_ID_SYS_STATUS: {
mavlink_msg_sys_status_decode(&msg,&sys_status);
}break;
case MAVLINK_MSG_ID_HEARTBEAT: {
mavlink_msg_heartbeat_decode(&msg,&heartbeat);
}break;
case MAVLINK_MSG_ID_PING: {
mavlink_msg_ping_decode(&msg,&ping);
}break;
case MAVLINK_MSG_ID_ATTITUDE: {
mavlink_msg_attitude_decode(&msg,&attitude);
}break;
case MAVLINK_MSG_ID_GPS_RAW_INT: {
mavlink_msg_gps_raw_int_decode(&msg,&gps_raw_int);
}break;
case MAVLINK_MSG_ID_GLOBAL_POSITION_INT: {
mavlink_msg_global_position_int_decode(&msg,&global_position_int);
}break;
case MAVLINK_MSG_ID_SERVO_OUTPUT_RAW: {
mavlink_msg_servo_output_raw_decode(&msg,&servo_output_raw);
}break;
case MAVLINK_MSG_ID_RC_CHANNELS_RAW: {
mavlink_msg_rc_channels_raw_decode(&msg,&rc_channels_raw);
}break;
case MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT: {
mavlink_msg_nav_controller_output_decode(&msg,&nav_controller_output);
}break;
case MAVLINK_MSG_ID_AIRSPEED_AUTOCAL: {
mavlink_msg_airspeed_autocal_decode(&msg,&airspeed_autocal);
}break;
case MAVLINK_MSG_ID_RPM: {
mavlink_msg_rpm_decode(&msg,&rpm);
}break;
case MAVLINK_MSG_ID_SCALED_PRESSURE: {
mavlink_msg_scaled_pressure_decode(&msg,&scaled_pressure);
}break;
case MAVLINK_MSG_ID_EXTENDED_SYS_STATE: {
mavlink_msg_extended_sys_state_decode(&msg,&extended_sys_state);
}break;
case MAVLINK_MSG_ID_BATTERY_STATUS: {
mavlink_msg_battery_status_decode(&msg,&battery_status);
}break;
case MAVLINK_MSG_ID_VIBRATION: {
mavlink_msg_vibration_decode(&msg,&vibration);
}break;
case MAVLINK_MSG_ID_EngineState: {
mavlink_msg_enginestate_decode(&msg,&enginestate);
}break;
case MAVLINK_MSG_ID_VFR_HUD: {
mavlink_msg_vfr_hud_decode(&msg,&vfr_hud);
}break;
}
}
+27 -2
View File
@@ -18,7 +18,7 @@
#include "QStyle"
#include "mavlinknode.h"
@@ -52,7 +52,7 @@ signals:
public slots:
void feedback(bool flag);
void RecieveMsg(mavlink_message_t msg);
private slots:
@@ -64,8 +64,31 @@ protected:
private:
uint8_t sysid; /* ID of message sender system/aircraft */
uint8_t compid; /* ID of the message sender component */
mavlink_autopilot_version_t autopilot_version;
mavlink_sys_status_t sys_status;
mavlink_heartbeat_t heartbeat;
mavlink_ping_t ping;
mavlink_attitude_t attitude;
mavlink_gps_raw_int_t gps_raw_int;
mavlink_global_position_int_t global_position_int;
mavlink_servo_output_raw_t servo_output_raw;
mavlink_rc_channels_raw_t rc_channels_raw;
mavlink_nav_controller_output_t nav_controller_output;
mavlink_airspeed_autocal_t airspeed_autocal;
mavlink_rpm_t rpm;
mavlink_scaled_pressure_t scaled_pressure;
mavlink_extended_sys_state_t extended_sys_state;
mavlink_battery_status_t battery_status;
mavlink_vibration_t vibration;
mavlink_enginestate_t enginestate;
mavlink_vfr_hud_t vfr_hud;
static const char* _versionJsonKey;
static const char* _spacingJsonKey;
static const char* _commentJsonKey;
static const char* _ButtonJsonKey;
@@ -89,6 +112,8 @@ private:
QJsonArray infoArray;
int spacing = 10;
int width = 60;
int height = 60;
+1 -1
View File
@@ -18,7 +18,7 @@ QPushButton {
border-style: solid;
border-radius: 5;
padding: 3px;
font: 30px "Arial";
font: 20px "Arial";
}
QPushButton:pressed[CheckState="0"] {
@@ -564,6 +564,14 @@ void ConnectDialog::onConnectClicked(void)//关闭本条
}
else
{
qDebug() << m_usrName
<< m_Type
<< m_Param1
<< m_Param2
<< m_Param3
<< m_Param4
<< m_Param5;
emit connectSignal(true,m_usrName,m_Type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
}
}
+1 -1
View File
@@ -46,7 +46,7 @@
.QTreeWidget {
background-color: #FFFFFF;
font: 15px "Arial";
font: 30px "Arial";
}
+8 -11
View File
@@ -104,8 +104,15 @@ MainWindow::MainWindow(QWidget *parent)
connect(commandUI,SIGNAL(cmd_long(float,float,float,float,float,float,float,uint16_t,uint8_t)),
dlink->mavlinknode->Commander,SLOT(WriteCmd_long(float,float,float,float,float,float,float,uint16_t,uint8_t)),Qt::DirectConnection);
//setting ----- dlink
//check ----- dlink
connect(checkUI,SIGNAL(cmd_long(float,float,float,float,float,float,float,uint16_t,uint8_t)),
dlink->mavlinknode->Commander,SLOT(WriteCmd_long(float,float,float,float,float,float,float,uint16_t,uint8_t)),Qt::DirectConnection);
connect(dlink->mavlinknode,SIGNAL(recievemsg(mavlink_message_t)),
checkUI,SLOT(RecieveMsg(mavlink_message_t)));
//setting ----- dlink
connect(dlink,SIGNAL(PortConnected(QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant)),
setting->index0->link,SIGNAL(PortConnect(QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant,QVariant)));
@@ -159,18 +166,12 @@ MainWindow::MainWindow(QWidget *parent)
connect(missionUI,SIGNAL(WPLoad(QString)),
map,SLOT(WPLoad(QString)));
connect(map,SIGNAL(allPoint(QMap<int,int>)),
missionUI,SLOT(setallPoint(QMap<int,int>)));
connect(missionUI,SIGNAL(searchall()),
map,SLOT(WPsearchall()));
//dlink ----- map
connect(map,SIGNAL(signal_WPDownload(uint8_t, uint8_t)),
dlink->mavlinknode->Mission,SLOT(ReadCmd(uint8_t, uint8_t)),Qt::DirectConnection);
@@ -185,22 +186,18 @@ MainWindow::MainWindow(QWidget *parent)
connect(dlink->mavlinknode->Mission,SIGNAL(receivedPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
map,SLOT(receivedPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),Qt::BlockingQueuedConnection);
connect(map,SIGNAL(WPProperty(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
dlink->mavlinknode->Mission,SLOT(transmitPoint(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),Qt::DirectConnection);
connect(dlink->mavlinknode,SIGNAL(addVehicles(int,int)),
map,SLOT(addUAV(int,int)));
connect(map,SIGNAL(uav_selected(int,int)),
dlink->mavlinknode,SLOT(setCurrentSelected(int,int)),Qt::DirectConnection);
connect(dlink->mavlinknode->Mission,SIGNAL(sendItemOK(uint16_t,bool)),
map,SLOT(WPSendItemOK(uint16_t,bool)),Qt::DirectConnection);
connect(map,SIGNAL(setCurrent(int)),
dlink->mavlinknode->Mission,SLOT(SetCurrentPoint(int)),Qt::DirectConnection);
-3
View File
@@ -15,10 +15,7 @@
#include "Cockpit.h"
#include "dlink.h"
#include "mavlinknode.h"
//ui include
//#include "LinkUI/LinkUI.h"
#include "InspectUI/InspectUI.h"
#include "ToolsUI/ToolsUI.h"
+2 -1
View File
@@ -162,7 +162,8 @@ void DLink::connectSignal(QVariant m_state,
}
else if(m_Type.toString() == "UDP")
{
if(setupClient(QHostAddress(m_Param1.toString()),m_Param2.toInt(),m_Param4.toInt()))
//qDebug() << m_Type << m_Param1 << m_Param2 << m_Param4;
if(setupClient(QHostAddress(m_Param1.toString()),m_Param2.toString().toInt(),m_Param4.toString().toInt()))
{
emit PortConnected(true,m_usrName,m_Type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
}