From fbb1a576179c3adf89ae184f080a8599827588f6 Mon Sep 17 00:00:00 2001
From: Pos <pierpaolo.mancini@mail.polimi.it>
Date: Tue, 25 May 2021 15:27:43 +0200
Subject: [PATCH] Implemented lynx telemetries, small fix to table and graph
---
Core/modulemessage.cpp | 13 +
Core/modulemessage.h | 4 +-
Core/xmlobject.cpp | 14 ++
Core/xmlobject.h | 3 +-
Modules/CommandPad/commandpadmodule.cpp | 85 +++++--
Modules/CommandPad/commandpadmodule.h | 15 +-
Modules/CommandPad/commandpadmodule.ui | 232 ++++++++++++++++--
Modules/CommandPad/telemetryrequestmodule.cpp | 15 ++
Modules/CommandPad/telemetryrequestmodule.h | 3 +
Modules/CommandPad/telemetryrequestmodule.ui | 19 +-
Modules/Graph/graphmodule.cpp | 8 +-
Modules/Mavlink/mavlink_skyward_lib | 2 +-
Modules/Mavlink/mavlinkcommandadapter.cpp | 71 +++++-
Modules/Mavlink/mavlinkcommandadapter.h | 8 +-
Modules/Mavlink/mavlinkmodule.cpp | 212 ++++++++--------
Modules/Mavlink/mavlinkreader.h | 2 +-
.../Mavlink/mavlinkrocketmsgtestingmodule.cpp | 1 -
Modules/Mavlink/mavlinkversionheader.h | 4 +-
.../MessageViewer/messagesviewermodule.cpp | 10 +-
Modules/MessageViewer/messagesviewermodule.h | 1 +
Modules/Table/tablemodule.cpp | 2 +-
Modules/skywardhubstrings.cpp | 5 +-
Modules/skywardhubstrings.h | 5 +-
SkywardHub.pro.user | 2 +-
24 files changed, 561 insertions(+), 175 deletions(-)
diff --git a/Core/modulemessage.cpp b/Core/modulemessage.cpp
index 88d8dfca..1f938f08 100644
--- a/Core/modulemessage.cpp
+++ b/Core/modulemessage.cpp
@@ -129,6 +129,19 @@ bool ModuleMessage::getIntPayload(int &value) const
return false;
}
+bool ModuleMessage::getFloatPayload(float &value) const
+{
+ bool ok;
+ if(payload() != ""){
+ int temp = payload().toFloat(&ok);
+ if(ok){
+ value = temp;
+ return true;
+ }
+ }
+ return false;
+}
+
void ModuleMessage::copy(const ModuleMessage &msg)
{
setPayload(msg.payload());
diff --git a/Core/modulemessage.h b/Core/modulemessage.h
index 8f54b4ab..bc9a8878 100644
--- a/Core/modulemessage.h
+++ b/Core/modulemessage.h
@@ -43,10 +43,12 @@ public:
void addOption(const QString &optionName, int value);
/*
- * Set the value of "value" if the payload exist and is an integer
+ * Get the value of "value" if the payload exist and is an integer
*/
bool getIntPayload(int &value) const;
+ bool getFloatPayload(float &value) const;
+
private:
void copy(const ModuleMessage &msg);
diff --git a/Core/xmlobject.cpp b/Core/xmlobject.cpp
index d85f2367..9a8ff19a 100644
--- a/Core/xmlobject.cpp
+++ b/Core/xmlobject.cpp
@@ -244,6 +244,20 @@ bool XmlObject::getIntAttribute(const QString &name, int &value) const
return false;
}
+bool XmlObject::getFloatAttribute(const QString &name, float &value) const
+{
+ QString val = getAttribute(name);
+ bool ok;
+ if(val != ""){
+ int temp = val.toFloat(&ok);
+ if(ok){
+ value = temp;
+ return true;
+ }
+ }
+ return false;
+}
+
void XmlObject::addAttribute(const QString &name, const QString &value)
{
attributes[name] = value;
diff --git a/Core/xmlobject.h b/Core/xmlobject.h
index 0e48cac2..8b64516c 100644
--- a/Core/xmlobject.h
+++ b/Core/xmlobject.h
@@ -26,9 +26,10 @@ public:
QMapIterator<QString, QString> attributesIterator() const;
/*
- * Set the value of "value" if the attribute with name "name" exist and is an integer
+ * Get the value of "value" if the attribute with name "name" exist and is an integer
*/
bool getIntAttribute(const QString &name, int &value) const;
+ bool getFloatAttribute(const QString &name, float &value) const;
/*
* addAttribute create a new attribute with name "name" and value "value"
* If the attribute already exist, it change its value
diff --git a/Modules/CommandPad/commandpadmodule.cpp b/Modules/CommandPad/commandpadmodule.cpp
index e6b624e7..18045167 100644
--- a/Modules/CommandPad/commandpadmodule.cpp
+++ b/Modules/CommandPad/commandpadmodule.cpp
@@ -40,16 +40,21 @@ void CommandPadModule::buildUI()
connect(&logToggleButton, &ToggleButton::toggled, this, &CommandPadModule::onLogButtonToggled);
connect(ui->closeLog_button, &QPushButton::clicked, this, &CommandPadModule::onCloseLogClicked);
- connect(ui->wiggleServo_button, &QPushButton::clicked, this, &CommandPadModule::onWiggleServoClicked);
+ connect(ui->wiggleARBServo_button, &QPushButton::clicked, this, &CommandPadModule::onWiggleARBServoClicked);
+ connect(ui->resetARBServo_button, &QPushButton::clicked, this, &CommandPadModule::onResetARBServoClicked);
+ connect(ui->wiggleDPLServo_button, &QPushButton::clicked, this, &CommandPadModule::onWiggleDPLServoClicked);
+ connect(ui->resetDPLServo_button, &QPushButton::clicked, this, &CommandPadModule::onResetDPLServoClicked);
connect(ui->testPrimaryCut_button, &QPushButton::clicked, this, &CommandPadModule::onTestPrimaryCutClicked);
connect(ui->testMode_button, &QPushButton::clicked, this, &CommandPadModule::onTestModeClicked);
- connect(ui->resetServo_button, &QPushButton::clicked, this, &CommandPadModule::onResetServoClicked);
connect(ui->testBackupCut_button, &QPushButton::clicked, this, &CommandPadModule::onTestBackupCutClicked);
connect(ui->boardReset_button, &QPushButton::clicked, this, &CommandPadModule::onBoardResetClicked);
- connect(ui->calibrateAda_button, &QPushButton::clicked, this, &CommandPadModule::onCalibrateAdaClicked);
+ connect(ui->testAerobrakest_button, &QPushButton::clicked, this, &CommandPadModule::onTestAerobrakesClicked);
+ connect(ui->disableAerobrakes_button, &QPushButton::clicked, this, &CommandPadModule::onDisableAerobrakesClicked);
connect(ui->deployAltitudeSet_button, &QPushButton::clicked, this, &CommandPadModule::onDeploymentAltitudeSetClicked);
connect(ui->tempeatureSet_button, &QPushButton::clicked, this, &CommandPadModule::onRefTemperatureSetClicked);
connect(ui->referenceAltitudeSet_button, &QPushButton::clicked, this, &CommandPadModule::onRefAltitudeSetClicked);
+ connect(ui->aerobrakeAngleSet_button, &QPushButton::clicked, this, &CommandPadModule::onAerobrakeAngleSetClicked);
+ connect(ui->initialOrientationSet_pushButton, &QPushButton::clicked, this, &CommandPadModule::onInitialOrientationSetClicked);
connect(ui->arm_button, &QPushButton::clicked, this, &CommandPadModule::onArmClicked);
connect(ui->disarm_button, &QPushButton::clicked, this, &CommandPadModule::onDisarmClicked);
connect(ui->forceLaunch_button, &QPushButton::clicked, this, &CommandPadModule::onForceLaunchClicked);
@@ -97,16 +102,14 @@ ModuleMessage CommandPadModule::createCommandMsg(const QString &msgKey) const
return msg;
}
-ModuleMessage CommandPadModule::createUploadSettingsMsg(const QString &msgKey, int setting_value) const
+ModuleMessage CommandPadModule::createCommandMsgWithPayload(const QString &msgKey, const QString &payload) const
{
ModuleMessage msg = createCommandMsg(msgKey);
-
-// msg.addOption("setting_id", setting_id);
- msg.addOption(SkywardHubStrings::upload_settings_value, setting_value);
-
+ msg.setPayload(payload);
return msg;
}
+
ModuleMessage CommandPadModule::createRawEventMsg(const QString &msgKey, int event_id, int topic_id) const
{
ModuleMessage msg = createCommandMsg(msgKey);
@@ -140,9 +143,24 @@ void CommandPadModule::onCloseLogClicked()
send(createCommandMsg("MAV_CMD_CLOSE_LOG"));
}
-void CommandPadModule::onWiggleServoClicked()
+void CommandPadModule::onWiggleARBServoClicked()
{
- send(createCommandMsg("MAV_CMD_WIGGLE_SERVO"));
+ send(createCommandMsg("MAV_CMD_ARB_WIGGLE_SERVO"));
+}
+
+void CommandPadModule::onResetARBServoClicked()
+{
+ send(createCommandMsg("MAV_CMD_ARB_RESET_SERVO"));
+}
+
+void CommandPadModule::onWiggleDPLServoClicked()
+{
+ send(createCommandMsg("MAV_CMD_DPL_WIGGLE_SERVO"));
+}
+
+void CommandPadModule::onResetDPLServoClicked()
+{
+ send(createCommandMsg("MAV_CMD_DPL_RESET_SERVO"));
}
void CommandPadModule::onTestPrimaryCutClicked()
@@ -155,11 +173,6 @@ void CommandPadModule::onTestModeClicked()
send(createCommandMsg("MAV_CMD_TEST_MODE"));
}
-void CommandPadModule::onResetServoClicked()
-{
- send(createCommandMsg("MAV_CMD_RESET_SERVO"));
-}
-
void CommandPadModule::onTestBackupCutClicked()
{
send(createCommandMsg("MAV_CMD_TEST_BACKUP_CUTTER"));
@@ -170,27 +183,53 @@ void CommandPadModule::onBoardResetClicked()
send(createCommandMsg("MAV_CMD_BOARD_RESET"));
}
-void CommandPadModule::onCalibrateAdaClicked()
+void CommandPadModule::onTestAerobrakesClicked()
{
- send(createCommandMsg("MAV_CMD_CALIBRATE_ADA"));
+ send(createCommandMsg("MAV_CMD_TEST_AEROBRAKES"));
+}
+
+void CommandPadModule::onDisableAerobrakesClicked()
+{
+ send(createCommandMsg("MAV_CMD_DISABLE_AEROBRAKES"));
}
void CommandPadModule::onDeploymentAltitudeSetClicked()
{
- int setting_value = ui->deploymentAltitude_spinBox->value();
- send(createUploadSettingsMsg("MAV_SET_DEPLOYMENT_ALTITUDE", setting_value));
+ QString payload = QString::number(ui->deploymentAltitude_spinBox->value());
+ send(createCommandMsgWithPayload("SET_DEPLOYMENT_ALTITUDE_TC", payload));
}
void CommandPadModule::onRefTemperatureSetClicked()
{
- int setting_value = ui->refTemperature_spinBox->value();
- send(createUploadSettingsMsg("MAV_SET_REFERENCE_TEMP", setting_value));
+ QString payload = QString::number(ui->refTemperature_spinBox->value());
+ send(createCommandMsgWithPayload("SET_REFERENCE_TEMPERATURE_TC", payload));
}
void CommandPadModule::onRefAltitudeSetClicked()
+{
+ QString payload = QString::number(ui->referenceAltitude_spinBox->value());
+ send(createCommandMsgWithPayload("SET_REFERENCE_ALTITUDE", payload));
+}
+
+void CommandPadModule::onAerobrakeAngleSetClicked()
{
- int setting_value = ui->referenceAltitude_spinBox->value();
- send(createUploadSettingsMsg("MAV_SET_REFERENCE_ALTITUDE", setting_value));
+ QString payload = QString::number(ui->aerobrakeAngle_spinBox->value());
+ send(createCommandMsgWithPayload("SET_AEROBRAKE_ANGLE_TC", payload));
+}
+
+void CommandPadModule::onInitialOrientationSetClicked()
+{
+ ModuleMessage msg = createCommandMsg("SET_INITIAL_ORIENTATION_TC");
+
+ QString yaw = QString::number(ui->initialOrientationYaw_spinBox->value());
+ QString pitch = QString::number(ui->initialOrientationPitch_spinBox->value());
+ QString roll = QString::number(ui->initialOrientationRoll_spinBox->value());
+
+ msg.addOption(SkywardHubStrings::mavlink_orientation_tc_yaw_name, yaw);
+ msg.addOption(SkywardHubStrings::mavlink_orientation_tc_pitch_name, pitch);
+ msg.addOption(SkywardHubStrings::mavlink_orientation_tc_roll_name, roll);
+
+ send(msg);
}
void CommandPadModule::onArmClicked()
diff --git a/Modules/CommandPad/commandpadmodule.h b/Modules/CommandPad/commandpadmodule.h
index fc469814..baba8196 100644
--- a/Modules/CommandPad/commandpadmodule.h
+++ b/Modules/CommandPad/commandpadmodule.h
@@ -24,22 +24,27 @@ public:
protected:
void buildUI();
ModuleMessage createCommandMsg(const QString &msgKey) const;
- ModuleMessage createUploadSettingsMsg(const QString &msgKey, int setting_value) const;
+ ModuleMessage createCommandMsgWithPayload(const QString &msgKey, const QString &payload) const;
ModuleMessage createRawEventMsg(const QString &msgKey, int event_id, int topic_id) const;
void send(const ModuleMessage &msg);
void onLogButtonToggled(bool val);
void onCloseLogClicked();
- void onWiggleServoClicked();
+ void onWiggleARBServoClicked();
+ void onResetARBServoClicked();
+ void onWiggleDPLServoClicked();
+ void onResetDPLServoClicked();
void onTestPrimaryCutClicked();
void onTestModeClicked();
- void onResetServoClicked();
void onTestBackupCutClicked();
void onBoardResetClicked();
- void onCalibrateAdaClicked();
+ void onTestAerobrakesClicked();
+ void onDisableAerobrakesClicked();
void onDeploymentAltitudeSetClicked();
void onRefTemperatureSetClicked();
void onRefAltitudeSetClicked();
+ void onAerobrakeAngleSetClicked();
+ void onInitialOrientationSetClicked();
void onArmClicked();
void onDisarmClicked();
void onForceLaunchClicked();
@@ -48,8 +53,6 @@ protected:
void onEndMissionClicked();
void onRawEventSendClicked();
-
-
private:
Ui::CommandPadModule *ui;
diff --git a/Modules/CommandPad/commandpadmodule.ui b/Modules/CommandPad/commandpadmodule.ui
index a3130014..081f7101 100644
--- a/Modules/CommandPad/commandpadmodule.ui
+++ b/Modules/CommandPad/commandpadmodule.ui
@@ -6,14 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>369</width>
- <height>669</height>
+ <width>338</width>
+ <height>883</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_3" stretch="1,1,2,2,2,2,2">
+ <layout class="QVBoxLayout" name="verticalLayout_3" stretch="1,1,0,0,2,2,2,2">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
@@ -74,6 +74,9 @@
<property name="title">
<string>Log</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<layout class="QHBoxLayout" name="toggle_button_layout">
@@ -114,46 +117,89 @@
<property name="title">
<string>Test</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QGridLayout" name="gridLayout">
- <item row="1" column="2">
- <widget class="QPushButton" name="boardReset_button">
+ <item row="1" column="0">
+ <widget class="QPushButton" name="wiggleDPLServo_button">
<property name="text">
- <string>BOARD RESET</string>
+ <string>WIGGLE DPL SERVO</string>
</property>
</widget>
</item>
- <item row="0" column="2">
- <widget class="QPushButton" name="testMode_button">
+ <item row="2" column="2">
+ <widget class="QPushButton" name="testBackupCut_button">
<property name="text">
- <string>TEST MODE</string>
+ <string>TEST BACKUP CUT</string>
</property>
</widget>
</item>
<item row="0" column="0">
- <widget class="QPushButton" name="wiggleServo_button">
+ <widget class="QPushButton" name="wiggleARBServo_button">
<property name="text">
- <string>WIGGLE SERVO</string>
+ <string>WIGGLE ARB SERVO</string>
</property>
</widget>
</item>
- <item row="0" column="1">
+ <item row="0" column="2">
<widget class="QPushButton" name="testPrimaryCut_button">
<property name="text">
<string>TEST PRIMARY CUT</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="resetServo_button">
+ <item row="2" column="0">
+ <widget class="QPushButton" name="resetARBServo_button">
<property name="text">
- <string>RESET SERVO</string>
+ <string>RESET ARB SERVO</string>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QPushButton" name="testBackupCut_button">
+ <item row="3" column="0">
+ <widget class="QPushButton" name="resetDPLServo_button">
<property name="text">
- <string>TEST BACKUP CUT</string>
+ <string>RESET DPL SERVO</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QPushButton" name="boardReset_button">
+ <property name="text">
+ <string>BOARD RESET</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="testMode_button">
+ <property name="text">
+ <string>TEST MODE</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_5">
+ <property name="title">
+ <string>Aerobrakes</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <item>
+ <widget class="QPushButton" name="testAerobrakest_button">
+ <property name="text">
+ <string>TEST</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="disableAerobrakes_button">
+ <property name="text">
+ <string>Disable</string>
</property>
</widget>
</item>
@@ -175,13 +221,6 @@
<set>Qt::AlignCenter</set>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QPushButton" name="calibrateAda_button">
- <property name="text">
- <string>CALIBRATE ADA</string>
- </property>
- </widget>
- </item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@@ -296,6 +335,140 @@
</item>
</layout>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Aerobrake Angle </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="aerobrakeAngle_spinBox">
+ <property name="maximum">
+ <number>99999</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="aerobrakeAngleSet_button">
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="initialOrientationSet_pushButton">
+ <property name="text">
+ <string>Set initial orientation</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Yaw</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="initialOrientationYaw_spinBox">
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Pitch</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="initialOrientationPitch_spinBox">
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="initialOrientationRoll_spinBox">
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
</item>
@@ -304,6 +477,9 @@
<property name="title">
<string>Launch Control</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="1">
<widget class="QPushButton" name="disarm_button">
@@ -341,6 +517,9 @@
<property name="title">
<string>Drogue</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="noseconeOpen_button">
@@ -364,6 +543,9 @@
<property name="title">
<string>Raw Event</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="0,0,0,0,0">
<item>
<widget class="QLabel" name="label_9">
diff --git a/Modules/CommandPad/telemetryrequestmodule.cpp b/Modules/CommandPad/telemetryrequestmodule.cpp
index de6db07a..0afc0cc9 100644
--- a/Modules/CommandPad/telemetryrequestmodule.cpp
+++ b/Modules/CommandPad/telemetryrequestmodule.cpp
@@ -49,6 +49,9 @@ void TelemetryRequestModule::connectUI()
connect(ui->hr_tm_pushButton, &QPushButton::clicked, this, &TelemetryRequestModule::on_HR_TM_Clicked);
connect(ui->lr_tm_pushButton, &QPushButton::clicked, this, &TelemetryRequestModule::on_LR_TM_Clicked);
connect(ui->test_tm_pushButton, &QPushButton::clicked, this, &TelemetryRequestModule::on_TEST_TM_Clicked);
+
+ connect(ui->windtunnel_tm_pushButton, &QPushButton::clicked, this, &TelemetryRequestModule::on_WINDTUNNEL_TM_Clicked);
+ connect(ui->sensors_tm_pushButton, &QPushButton::clicked, this, &TelemetryRequestModule::on_SENSORS_TM_Clicked);
}
void TelemetryRequestModule::send(const ModuleMessage &msg)
@@ -142,3 +145,15 @@ void TelemetryRequestModule::on_TEST_TM_Clicked()
{
send(createTmMessage("MAV_TEST_TM_ID"));
}
+
+void TelemetryRequestModule::on_WINDTUNNEL_TM_Clicked()
+{
+ send(createTmMessage("MAV_WINDTUNNEL_TM_ID"));
+}
+
+void TelemetryRequestModule::on_SENSORS_TM_Clicked()
+{
+ send(createTmMessage("MAV_SENSORS_TM_ID"));
+}
+
+
diff --git a/Modules/CommandPad/telemetryrequestmodule.h b/Modules/CommandPad/telemetryrequestmodule.h
index 09649f53..a6e004ab 100644
--- a/Modules/CommandPad/telemetryrequestmodule.h
+++ b/Modules/CommandPad/telemetryrequestmodule.h
@@ -44,6 +44,9 @@ protected:
void on_LR_TM_Clicked();
void on_TEST_TM_Clicked();
+ void on_WINDTUNNEL_TM_Clicked();
+ void on_SENSORS_TM_Clicked();
+
private:
Ui::TelemetryRequestModule *ui;
};
diff --git a/Modules/CommandPad/telemetryrequestmodule.ui b/Modules/CommandPad/telemetryrequestmodule.ui
index 59782424..50a8db97 100644
--- a/Modules/CommandPad/telemetryrequestmodule.ui
+++ b/Modules/CommandPad/telemetryrequestmodule.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>245</width>
- <height>509</height>
+ <height>521</height>
</rect>
</property>
<property name="windowTitle">
@@ -19,6 +19,9 @@
<property name="title">
<string>Telemetry Request</string>
</property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="sys_tm_pushButton">
@@ -132,6 +135,20 @@
</property>
</widget>
</item>
+ <item>
+ <widget class="QPushButton" name="windtunnel_tm_pushButton">
+ <property name="text">
+ <string>WIND-TUNNEL</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="sensors_tm_pushButton">
+ <property name="text">
+ <string>SENSORS</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
diff --git a/Modules/Graph/graphmodule.cpp b/Modules/Graph/graphmodule.cpp
index be91dd27..b47ed636 100644
--- a/Modules/Graph/graphmodule.cpp
+++ b/Modules/Graph/graphmodule.cpp
@@ -172,8 +172,12 @@ void GraphModule::onSubscriptionRemoved(const QString &subscription)
void GraphModule::onMsgReceived(const ModuleMessage &msg)
{
- if(subscriptions.contains(msg.topic())){
- QCPGraph *graph = subscriptions[msg.topic()];
+ if(!subscriptions.contains(msg.originalTopic())){
+ onSubscriptionAdded(msg.originalTopic());
+ }
+
+ if(subscriptions.contains(msg.originalTopic())){
+ QCPGraph *graph = subscriptions[msg.originalTopic()];
double x = 0,y = 0;
x = msg.timestamp().toTime_t();
diff --git a/Modules/Mavlink/mavlink_skyward_lib b/Modules/Mavlink/mavlink_skyward_lib
index 00b5e98f..f0b4285f 160000
--- a/Modules/Mavlink/mavlink_skyward_lib
+++ b/Modules/Mavlink/mavlink_skyward_lib
@@ -1 +1 @@
-Subproject commit 00b5e98f28a1476587974dc623377af42883e6f0
+Subproject commit f0b4285ffc1f8176a4a2f15f512a8476ad779aac
diff --git a/Modules/Mavlink/mavlinkcommandadapter.cpp b/Modules/Mavlink/mavlinkcommandadapter.cpp
index a92d8591..539374ab 100644
--- a/Modules/Mavlink/mavlinkcommandadapter.cpp
+++ b/Modules/Mavlink/mavlinkcommandadapter.cpp
@@ -50,17 +50,80 @@ mavlink_message_t MavlinkCommandAdapter::encode_TELEMETRY_REQUEST_TC(uint8_t boa
return encoded_mvl_msg;
}
-mavlink_message_t MavlinkCommandAdapter::encode_RAW_EVENT_TC(uint8_t event_id, uint8_t topic_id)
+mavlink_message_t MavlinkCommandAdapter::encode_RAW_EVENT_TC(const ModuleMessage &msg)
{
mavlink_message_t encoded_mvl_msg;
- mavlink_msg_raw_event_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg,event_id,topic_id);
+ uint8_t event_id, topic_id;
+ XmlObject msgOption = msg.getOptions();
+ int temp;
+ if(msgOption.getIntAttribute(SkywardHubStrings::raw_event_id,temp)){
+ event_id = temp;
+ if(msgOption.getIntAttribute(SkywardHubStrings::raw_event_topic_id,temp)){
+ topic_id = temp;
+ mavlink_message_t encoded_mvl_msg;
+ mavlink_msg_raw_event_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg,event_id,topic_id);
+ }
+ }
+ return encoded_mvl_msg;
+}
+
+mavlink_message_t MavlinkCommandAdapter::encode_AEROBRAKE_ANGLE_TC(const ModuleMessage &msg)
+{
+ mavlink_message_t encoded_mvl_msg;
+ float angle;
+
+ if(msg.getFloatPayload(angle)){
+ mavlink_msg_set_aerobrake_angle_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg, angle);
+ }
+ return encoded_mvl_msg;
+}
+
+mavlink_message_t MavlinkCommandAdapter::encode_REFERENCE_ALTITUDE_TC(const ModuleMessage &msg)
+{
+ mavlink_message_t encoded_mvl_msg;
+ float ref_altitude;
+
+ if(msg.getFloatPayload(ref_altitude)){
+ mavlink_msg_set_reference_altitude_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg, ref_altitude);
+ }
return encoded_mvl_msg;
}
-mavlink_message_t MavlinkCommandAdapter::encode_UPLOAD_SETTING_TC(uint8_t setting_id, float setting_value)
+mavlink_message_t MavlinkCommandAdapter::encode_REFERENCE_TEMPERATURE_TC(const ModuleMessage &msg)
{
mavlink_message_t encoded_mvl_msg;
- mavlink_msg_upload_setting_tc_pack(MAV_SYS,MAV_CMP, &encoded_mvl_msg, setting_id, setting_value);
+ float ref_temp;
+
+ if(msg.getFloatPayload(ref_temp)){
+ mavlink_msg_set_reference_temperature_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg, ref_temp);
+ }
+ return encoded_mvl_msg;
+}
+
+mavlink_message_t MavlinkCommandAdapter::encode_DEPLOYMENT_ALTITUDE_TC(const ModuleMessage &msg)
+{
+ mavlink_message_t encoded_mvl_msg;
+ float ref_altitude;
+
+ if(msg.getFloatPayload(ref_altitude)){
+ mavlink_msg_set_deployment_altitude_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg, ref_altitude);
+ }
+ return encoded_mvl_msg;
+}
+
+mavlink_message_t MavlinkCommandAdapter::encode_INITIAL_ORIENTATION_TC(const ModuleMessage &msg)
+{
+ mavlink_message_t encoded_mvl_msg;
+ float yaw, pitch, roll;
+ XmlObject msgOption = msg.getOptions();
+
+ bool ok = msgOption.getFloatAttribute(SkywardHubStrings::mavlink_orientation_tc_yaw_name, yaw);
+ ok = ok && msgOption.getFloatAttribute(SkywardHubStrings::mavlink_orientation_tc_pitch_name, pitch);
+ ok = ok && msgOption.getFloatAttribute(SkywardHubStrings::mavlink_orientation_tc_roll_name, roll);
+
+ if(ok){
+ mavlink_msg_set_initial_orientation_tc_pack(MAV_SYS,MAV_CMP,&encoded_mvl_msg, yaw, pitch, roll);
+ }
return encoded_mvl_msg;
}
diff --git a/Modules/Mavlink/mavlinkcommandadapter.h b/Modules/Mavlink/mavlinkcommandadapter.h
index d271ae57..ffd20cd2 100644
--- a/Modules/Mavlink/mavlinkcommandadapter.h
+++ b/Modules/Mavlink/mavlinkcommandadapter.h
@@ -27,8 +27,12 @@ public:
mavlink_message_t encode_NOARG_TC(int cmd_id);
mavlink_message_t encode_START_LAUNCH_TC(const ModuleMessage &msg);
mavlink_message_t encode_TELEMETRY_REQUEST_TC(uint8_t board_id);
- mavlink_message_t encode_RAW_EVENT_TC(uint8_t event_id, uint8_t topic_id);
- mavlink_message_t encode_UPLOAD_SETTING_TC(uint8_t setting_id, float setting_value);
+ mavlink_message_t encode_RAW_EVENT_TC(const ModuleMessage &msg);
+ mavlink_message_t encode_AEROBRAKE_ANGLE_TC(const ModuleMessage &msg);
+ mavlink_message_t encode_REFERENCE_ALTITUDE_TC(const ModuleMessage &msg);
+ mavlink_message_t encode_REFERENCE_TEMPERATURE_TC(const ModuleMessage &msg);
+ mavlink_message_t encode_DEPLOYMENT_ALTITUDE_TC(const ModuleMessage &msg);
+ mavlink_message_t encode_INITIAL_ORIENTATION_TC(const ModuleMessage &msg);
bool produceMsgFromXml(const XmlObject &xml, mavlink_message_t *msg);
diff --git a/Modules/Mavlink/mavlinkmodule.cpp b/Modules/Mavlink/mavlinkmodule.cpp
index 0a6b3733..e09071a9 100644
--- a/Modules/Mavlink/mavlinkmodule.cpp
+++ b/Modules/Mavlink/mavlinkmodule.cpp
@@ -57,45 +57,6 @@ void MavlinkModule::subscribe()
getCore()->getModuleMessagesBroker()->subscribe(SkywardHubStrings::telemetryRequestTopic,this,[this](const ModuleMessage &msg){
onTelemetryRequestReceived(msg);
});
-
-// QString PING_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::PING_TC).toString();
-// QString NOARG_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::NOARG_TC).toString();
-// QString START_LAUNCH_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::START_LAUNCH_TC).toString();
-// QString TELEMETRY_REQUEST_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::TELEMETRY_REQUEST_TC).toString();
-// QString RAW_EVENT_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::RAW_EVENT_TC).toString();
-// QString UPLOAD_SETTING_TC_topic = prefix + QVariant::fromValue(MavlinkCommandAdapter::UPLOAD_SETTING_TC).toString();
-
-// QString PING_TC_topic = prefix + "PING_TC";
-// QString NOARG_TC_topic = prefix + MavlinkCommandAdapter::getStringId(MavlinkCommandAdapter::NOARG_TC);
-// QString START_LAUNCH_TC_topic = prefix + MavlinkCommandAdapter::getStringId(MavlinkCommandAdapter::START_LAUNCH_TC);
-// QString TELEMETRY_REQUEST_TC_topic = prefix + MavlinkCommandAdapter::getStringId(MavlinkCommandAdapter::TELEMETRY_REQUEST_TC);
-// QString RAW_EVENT_TC_topic = prefix + MavlinkCommandAdapter::getStringId(MavlinkCommandAdapter::RAW_EVENT_TC);
-// QString UPLOAD_SETTING_TC_topic = prefix + MavlinkCommandAdapter::getStringId(MavlinkCommandAdapter::UPLOAD_SETTING_TC);
-
-
-// getCore()->getModuleMessagesBroker()->subscribe(PING_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_PING_TC(msg));
-// });
-
-// getCore()->getModuleMessagesBroker()->subscribe(NOARG_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_NOARG_TC(msg));
-// });
-
-// getCore()->getModuleMessagesBroker()->subscribe(START_LAUNCH_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_START_LAUNCH_TC(msg));
-// });
-
-// getCore()->getModuleMessagesBroker()->subscribe(TELEMETRY_REQUEST_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_TELEMETRY_REQUEST_TC(msg));
-// });
-
-// getCore()->getModuleMessagesBroker()->subscribe(RAW_EVENT_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_RAW_EVENT_TC(msg));
-// });
-
-// getCore()->getModuleMessagesBroker()->subscribe(UPLOAD_SETTING_TC_topic, this, [this](const ModuleMessage &msg){
-// mavlinkCommandAdapter.send(mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(msg));
-// });
}
void MavlinkModule::publish(const ModuleMessage &msg)
@@ -223,36 +184,31 @@ void MavlinkModule::onCommandReceived(const ModuleMessage &msg)
if(arg == "PING_TC"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_PING_TC();
}
- else if(arg == "MAV_CMD_START_LOGGING"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_START_LOGGING);
- }
- else if(arg == "MAV_CMD_STOP_LOGGING"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_STOP_LOGGING);
- }
- else if(arg == "MAV_CMD_CLOSE_LOG"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CLOSE_LOG);
- }
- else if(arg == "MAV_CMD_WIGGLE_SERVO"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_WIGGLE_SERVO);
+ else if(arg == "START_LAUNCH_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_START_LAUNCH_TC(msg);
}
- else if(arg == "MAV_CMD_TEST_PRIMARY_CUTTER"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_PRIMARY_CUTTER);
+
+ else if(arg == "SET_AEROBRAKE_ANGLE_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_AEROBRAKE_ANGLE_TC(msg);
}
- else if(arg == "MAV_CMD_TEST_MODE"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_MODE);
+ else if(arg == "SET_REFERENCE_ALTITUDE"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_REFERENCE_ALTITUDE_TC(msg);
}
- else if(arg == "MAV_CMD_RESET_SERVO"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_RESET_SERVO);
+ else if(arg == "SET_REFERENCE_TEMPERATURE_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_REFERENCE_TEMPERATURE_TC(msg);
}
- else if(arg == "MAV_CMD_TEST_BACKUP_CUTTER"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_BACKUP_CUTTER);
+ else if(arg == "SET_DEPLOYMENT_ALTITUDE_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_DEPLOYMENT_ALTITUDE_TC(msg);
}
- else if(arg == "MAV_CMD_BOARD_RESET"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_BOARD_RESET);
+ else if(arg == "SET_INITIAL_ORIENTATION_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_INITIAL_ORIENTATION_TC(msg);
}
- else if(arg == "MAV_CMD_CALIBRATE_ADA"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CALIBRATE_ADA);
+ else if(arg == "RAW_EVENT_TC"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_RAW_EVENT_TC(msg);
}
+
+
+ // NOARG_TC
else if(arg == "MAV_CMD_ARM"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_ARM);
}
@@ -262,54 +218,106 @@ void MavlinkModule::onCommandReceived(const ModuleMessage &msg)
else if(arg == "MAV_CMD_FORCE_LAUNCH"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_FORCE_LAUNCH);
}
+ else if(arg == "MAV_CMD_CALIBRATE_SENSORS"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CALIBRATE_SENSORS);
+ }
+ else if(arg == "MAV_CMD_CALIBRATE_ALGOS"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CALIBRATE_ALGOS);
+ }
else if(arg == "MAV_CMD_FORCE_INIT"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_FORCE_INIT);
}
else if(arg == "MAV_CMD_NOSECONE_OPEN"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_NOSECONE_OPEN);
}
- else if(arg == "MAV_CMD_END_MISSION"){
- encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_END_MISSION);
+ else if(arg == "MAV_CMD_DPL_WIGGLE_SERVO"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_DPL_WIGGLE_SERVO);
}
- else if(arg == "MAV_SET_DEPLOYMENT_ALTITUDE"){
- float setting_value;
- XmlObject msgOption = msg.getOptions();
- int temp;
- if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
- setting_value = temp;
- encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_DEPLOYMENT_ALTITUDE, setting_value);
- }
+ else if(arg == "MAV_CMD_ARB_WIGGLE_SERVO"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_ARB_WIGGLE_SERVO);
}
- else if(arg == "MAV_SET_REFERENCE_TEMP"){
- float setting_value;
- XmlObject msgOption = msg.getOptions();
- int temp;
- if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
- setting_value = temp;
- encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_REFERENCE_TEMP, setting_value);
- }
+ else if(arg == "MAV_CMD_DPL_RESET_SERVO"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_DPL_RESET_SERVO);
}
- else if(arg == "MAV_SET_REFERENCE_ALTITUDE"){
- float setting_value;
- XmlObject msgOption = msg.getOptions();
- int temp;
- if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
- setting_value = temp;
- encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_REFERENCE_ALTITUDE, setting_value);
- }
+ else if(arg == "MAV_CMD_ARB_RESET_SERVO"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_ARB_RESET_SERVO);
}
- else if(arg == "RAW_EVENT_TC"){
- uint8_t Event_id, Topic_id;
- XmlObject msgOption = msg.getOptions();
- int temp;
- if(msgOption.getIntAttribute(SkywardHubStrings::raw_event_id,temp)){
- Event_id = temp;
- if(msgOption.getIntAttribute(SkywardHubStrings::raw_event_topic_id,temp)){
- Topic_id = temp;
- encoded_mvl_msg = mavlinkCommandAdapter.encode_RAW_EVENT_TC(Event_id, Topic_id);
- }
- }
+ else if(arg == "MAV_CMD_CUT_DROGUE"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CUT_DROGUE);
+ }
+ else if(arg == "MAV_CMD_CUT_PRIMARY"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CUT_PRIMARY);
+ }
+ else if(arg == "MAV_CMD_CUT_BACKUP"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CUT_BACKUP);
+ }
+ else if(arg == "MAV_CMD_TEST_PRIMARY_CUTTER"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_PRIMARY_CUTTER);
+ }
+ else if(arg == "MAV_CMD_TEST_BACKUP_CUTTER"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_BACKUP_CUTTER);
+ }
+ else if(arg == "MAV_CMD_START_LOGGING"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_START_LOGGING);
+ }
+ else if(arg == "MAV_CMD_STOP_LOGGING"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_STOP_LOGGING);
+ }
+ else if(arg == "MAV_CMD_CLOSE_LOG"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CLOSE_LOG);
+ }
+ else if(arg == "MAV_CMD_TEST_AEROBRAKES"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_AEROBRAKES);
+ }
+ else if(arg == "MAV_CMD_DISABLE_AEROBRAKES"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_DISABLE_AEROBRAKES);
+ }
+ else if(arg == "MAV_CMD_END_MISSION"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_END_MISSION);
+ }
+ else if(arg == "MAV_CMD_BOARD_RESET"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_BOARD_RESET);
}
+ else if(arg == "MAV_CMD_TEST_MODE"){
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_TEST_MODE);
+ }
+// else if(arg == "MAV_CMD_WIGGLE_SERVO"){
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_WIGGLE_SERVO);
+// }
+// else if(arg == "MAV_CMD_RESET_SERVO"){
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_RESET_SERVO);
+// }
+// else if(arg == "MAV_CMD_CALIBRATE_ADA"){
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_NOARG_TC(MAV_CMD_CALIBRATE_ADA);
+// }
+
+// else if(arg == "MAV_SET_DEPLOYMENT_ALTITUDE"){
+// float setting_value;
+// XmlObject msgOption = msg.getOptions();
+// int temp;
+// if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
+// setting_value = temp;
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_DEPLOYMENT_ALTITUDE_TC, setting_value);
+// }
+// }
+// else if(arg == "MAV_SET_REFERENCE_TEMP"){
+// float setting_value;
+// XmlObject msgOption = msg.getOptions();
+// int temp;
+// if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
+// setting_value = temp;
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_REFERENCE_TEMP, setting_value);
+// }
+// }
+// else if(arg == "MAV_SET_REFERENCE_ALTITUDE"){
+// float setting_value;
+// XmlObject msgOption = msg.getOptions();
+// int temp;
+// if(msgOption.getIntAttribute(SkywardHubStrings::upload_settings_value, temp)){
+// setting_value = temp;
+// encoded_mvl_msg = mavlinkCommandAdapter.encode_UPLOAD_SETTING_TC(MAV_SET_REFERENCE_ALTITUDE, setting_value);
+// }
+// }
mavlinkCommandAdapter.send(encoded_mvl_msg);
}
@@ -366,6 +374,12 @@ void MavlinkModule::onTelemetryRequestReceived(const ModuleMessage &msg)
else if(arg == "MAV_TEST_TM_ID"){
encoded_mvl_msg = mavlinkCommandAdapter.encode_TELEMETRY_REQUEST_TC(MAV_TEST_TM_ID);
}
+ else if(arg == "MAV_WINDTUNNEL_TM_ID"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_TELEMETRY_REQUEST_TC(MAV_WINDTUNNEL_TM_ID);
+ }
+ else if(arg == "MAV_SENSORS_TM_ID"){ // New Lynx
+ encoded_mvl_msg = mavlinkCommandAdapter.encode_TELEMETRY_REQUEST_TC(MAV_SENSORS_TM_ID);
+ }
mavlinkCommandAdapter.send(encoded_mvl_msg);
}
diff --git a/Modules/Mavlink/mavlinkreader.h b/Modules/Mavlink/mavlinkreader.h
index 2bfeaac6..9a43a237 100644
--- a/Modules/Mavlink/mavlinkreader.h
+++ b/Modules/Mavlink/mavlinkreader.h
@@ -5,7 +5,7 @@
#include <QThread>
#include <QDateTime>
#include "Core/xmlobject.h"
-#include "mavlink_skyward_lib/mavlink_lib/hermes/mavlink.h"
+#include "mavlinkversionheader.h"
#include "Core/modulemessage.h"
diff --git a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
index 39138630..2bd28914 100644
--- a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
+++ b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
@@ -172,7 +172,6 @@ void MavlinkRocketMsgTestingModule::onSendMsgClicked()
if(currentMsgView != nullptr){
XmlObject xmlMsg = msgToXml();
testMavlinkEncodeAndDecode(xmlMsg);
-
}
}
diff --git a/Modules/Mavlink/mavlinkversionheader.h b/Modules/Mavlink/mavlinkversionheader.h
index 771391c9..f4b4d0cf 100644
--- a/Modules/Mavlink/mavlinkversionheader.h
+++ b/Modules/Mavlink/mavlinkversionheader.h
@@ -1,6 +1,8 @@
#ifndef MAVLINKVERSIONHEADER_H
#define MAVLINKVERSIONHEADER_H
-#include "mavlink_skyward_lib/mavlink_lib/hermes/mavlink.h"
+//#include "mavlink_skyward_lib/mavlink_lib/hermes/mavlink.h"
+#include "mavlink_skyward_lib/mavlink_lib/lynx/mavlink.h"
+
#endif // MAVLINKVERSIONHEADER_H
diff --git a/Modules/MessageViewer/messagesviewermodule.cpp b/Modules/MessageViewer/messagesviewermodule.cpp
index c77d1402..320c2b08 100644
--- a/Modules/MessageViewer/messagesviewermodule.cpp
+++ b/Modules/MessageViewer/messagesviewermodule.cpp
@@ -44,13 +44,19 @@ void MessagesViewerModule::addMsgSent(const ModuleMessage &msg)
int row = updateVerticalHeaders(msg);
int column = 0;
- QTableWidgetItem *newItem = new QTableWidgetItem(msg.payload());
+ QString msgName = computeMsgName(msg);
+ QTableWidgetItem *newItem = new QTableWidgetItem(msgName);
newItem->setBackground(QBrush(QColor(255, 153, 51)));
newItem->setForeground(QBrush(QColor(0,0,0)));
ui->tableWidget->setItem(row,column,newItem);
registerMessage(newItem,msg);
}
+QString MessagesViewerModule::computeMsgName(const ModuleMessage &msg)
+{
+ return msg.originalTopic().replace(SkywardHubStrings::commandsTopic+"/", "");
+}
+
void MessagesViewerModule::handleAck(const ModuleMessage &ack)
{
for(int i=0; i < messages.count(); i++){
@@ -91,6 +97,8 @@ void MessagesViewerModule::registerMessage(QTableWidgetItem *item, const ModuleM
}
}
+
+
// ____________________ MESSAGE LOG CLASS _______________________________
MessageLog::MessageLog(QTableWidgetItem *item, const ModuleMessage &msg)
diff --git a/Modules/MessageViewer/messagesviewermodule.h b/Modules/MessageViewer/messagesviewermodule.h
index abfbbe49..e060e44e 100644
--- a/Modules/MessageViewer/messagesviewermodule.h
+++ b/Modules/MessageViewer/messagesviewermodule.h
@@ -48,6 +48,7 @@ public:
protected:
int updateVerticalHeaders(const ModuleMessage &msg);
void registerMessage(QTableWidgetItem *item, const ModuleMessage &msg);
+ QString computeMsgName(const ModuleMessage &msg);
private:
Ui::MessagesViewerModule *ui;
diff --git a/Modules/Table/tablemodule.cpp b/Modules/Table/tablemodule.cpp
index de6ecd98..19afc6f5 100644
--- a/Modules/Table/tablemodule.cpp
+++ b/Modules/Table/tablemodule.cpp
@@ -93,7 +93,7 @@ void TableModule::removeRow(const QString &txt)
void TableModule::onMsgReceived(const ModuleMessage &msg)
{
- int row = updateVerticalHeaders(msg.topic());
+ int row = updateVerticalHeaders(msg.originalTopic());
int column = updateHorizontalHeaders(msg.timestamp().toString(horizontalHeaderDateFormat));
QTableWidgetItem *newItem = new QTableWidgetItem(msg.payload());
diff --git a/Modules/skywardhubstrings.cpp b/Modules/skywardhubstrings.cpp
index 9c12891b..fdc7f72d 100644
--- a/Modules/skywardhubstrings.cpp
+++ b/Modules/skywardhubstrings.cpp
@@ -32,8 +32,9 @@ const QString SkywardHubStrings::treeViewerReceivingBaseTopic = "TreeViewer";
const QString SkywardHubStrings::logCommandsTopic = "LogCommands";
const QString SkywardHubStrings::raw_event_id = "event_id";
const QString SkywardHubStrings::raw_event_topic_id = "topic_id";
-const QString SkywardHubStrings::upload_settings_id = "settings_id";
-const QString SkywardHubStrings::upload_settings_value = "settings_value";
+const QString SkywardHubStrings::mavlink_orientation_tc_yaw_name = "yaw";
+const QString SkywardHubStrings::mavlink_orientation_tc_pitch_name = "pitch";
+const QString SkywardHubStrings::mavlink_orientation_tc_roll_name = "roll";
const QString SkywardHubStrings::msgIdField = "id";
const QString SkywardHubStrings::msgSequenceNumberField = "sequenceNumber";
diff --git a/Modules/skywardhubstrings.h b/Modules/skywardhubstrings.h
index 9241e2b8..89acb851 100644
--- a/Modules/skywardhubstrings.h
+++ b/Modules/skywardhubstrings.h
@@ -38,8 +38,9 @@ public:
static const QString logCommandsTopic;
static const QString raw_event_id;
static const QString raw_event_topic_id;
- static const QString upload_settings_id;
- static const QString upload_settings_value;
+ static const QString mavlink_orientation_tc_yaw_name;
+ static const QString mavlink_orientation_tc_pitch_name;
+ static const QString mavlink_orientation_tc_roll_name;
static const QString msgIdField;
static const QString msgSequenceNumberField;
diff --git a/SkywardHub.pro.user b/SkywardHub.pro.user
index 6ff847be..8ba22efb 100644
--- a/SkywardHub.pro.user
+++ b/SkywardHub.pro.user
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.14.2, 2021-05-17T20:57:56. -->
+<!-- Written by QtCreator 4.14.2, 2021-05-25T15:26:01. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
--
GitLab