diff --git a/resources/AdvancedTab.qml b/resources/AdvancedTab.qml
index 70b5fcd11..57bb02914 100644
--- a/resources/AdvancedTab.qml
+++ b/resources/AdvancedTab.qml
@@ -19,7 +19,7 @@ Item {
contentHeight: Constants.tabBarHeight
Repeater {
- model: ["System Monitor", "IMU", "Magnetometer", "Networking", "Spectrum Analyzer"]
+ model: ["System Monitor", "IMU", "Magnetometer", "Networking", "Spectrum Analyzer", "INS"]
TabButton {
text: modelData
@@ -62,6 +62,9 @@ Item {
AdvancedTabComponents.AdvancedSpectrumAnalyzerTab {
}
+ AdvancedTabComponents.AdvancedInsTab {
+ }
+
}
}
diff --git a/resources/AdvancedTabComponents/AdvancedImuTab.qml b/resources/AdvancedTabComponents/AdvancedImuTab.qml
index b49979127..56a497cfd 100644
--- a/resources/AdvancedTabComponents/AdvancedImuTab.qml
+++ b/resources/AdvancedTabComponents/AdvancedImuTab.qml
@@ -304,12 +304,6 @@ Item {
}
- FusionStatusFlags {
- Layout.fillWidth: true
- Layout.preferredHeight: Constants.advancedImu.urlBarHeight
- Layout.alignment: Qt.AlignBottom
- }
-
}
}
diff --git a/resources/AdvancedTabComponents/AdvancedInsTab.qml b/resources/AdvancedTabComponents/AdvancedInsTab.qml
new file mode 100644
index 000000000..db51c3067
--- /dev/null
+++ b/resources/AdvancedTabComponents/AdvancedInsTab.qml
@@ -0,0 +1,22 @@
+import "../Constants"
+import QtCharts 2.3
+import QtQuick 2.6
+import QtQuick.Controls 2.12
+import QtQuick.Layouts 1.15
+import SwiftConsole 1.0
+
+Item {
+ id: advancedInsTab
+
+ width: parent.width
+ height: parent.height
+
+ ColumnLayout {
+ anchors.centerIn: parent
+
+ FusionStatusFlags {
+ }
+
+ }
+
+}
diff --git a/resources/AdvancedTabComponents/FusionStatusFlags.qml b/resources/AdvancedTabComponents/FusionStatusFlags.qml
index 9c2e6ba62..b50bb0cd7 100644
--- a/resources/AdvancedTabComponents/FusionStatusFlags.qml
+++ b/resources/AdvancedTabComponents/FusionStatusFlags.qml
@@ -16,8 +16,6 @@ Item {
property string last_nhc: "UNKNOWN"
property string last_zerovel: "UNKNOWN"
- width: parent.width
- height: parent.height
Component.onCompleted: {
}
@@ -25,162 +23,162 @@ Item {
id: fusionStatusFlagsData
}
- ColumnLayout {
- id: fusionStatusFlagsArea
+ GroupBox {
+ anchors.centerIn: parent
- width: parent.width
- height: parent.height
+ GridLayout {
+ id: fusionStatusFlagsArea
- RowLayout {
- id: insStatusRow
-
- visible: false
- Layout.fillWidth: true
- Layout.preferredHeight: Constants.advancedImu.urlBarHeight
- Layout.alignment: Qt.AlignBottom
+ columns: 2
Label {
text: Constants.advancedImu.insStatusLabels[0]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: gnssposUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: gnssposWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: gnssposOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Label {
text: Constants.advancedImu.insStatusLabels[1]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: gnssvelUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: gnssvelWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: gnssvelOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Label {
text: Constants.advancedImu.insStatusLabels[2]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: wheelticksUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: wheelticksWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: wheelticksOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Label {
text: Constants.advancedImu.insStatusLabels[3]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: speedUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: speedWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: speedOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Label {
text: Constants.advancedImu.insStatusLabels[4]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: nhcUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: nhcWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: nhcOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Label {
text: Constants.advancedImu.insStatusLabels[5]
+ font.pointSize: Constants.fusionStatusFlags.labelFontSize
}
UnknownStatus {
id: zerovelUnknown
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
WarningStatus {
id: zerovelWarning
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
OkStatus {
id: zerovelOk
visible: false
- Layout.preferredWidth: Constants.advancedImu.insStatusImageWidth
+ Layout.preferredWidth: Constants.fusionStatusFlags.fusionStatusWidth
}
Item {
@@ -199,7 +197,7 @@ Item {
if (!fusionStatusFlagsData.gnsspos)
return ;
- insStatusRow.visible = true;
+ fusionStatusFlagsArea.visible = true;
var gnsspos = fusionStatusFlagsData.gnsspos;
if (gnsspos != last_gnsspos) {
if (gnsspos == "UNKNOWN") {
@@ -307,6 +305,11 @@ Item {
}
+ label: Label {
+ text: Constants.fusionStatusFlags.title
+ font.pointSize: Constants.fusionStatusFlags.titleFontSize
+ }
+
}
}
diff --git a/resources/AdvancedTabComponents/OkStatus.qml b/resources/AdvancedTabComponents/OkStatus.qml
index 785e3f94a..3336df79b 100644
--- a/resources/AdvancedTabComponents/OkStatus.qml
+++ b/resources/AdvancedTabComponents/OkStatus.qml
@@ -1,10 +1,13 @@
import "../Constants"
import QtGraphicalEffects 1.15
import QtQuick 2.5
+import QtQuick.Layouts 1.15
Item {
Image {
- anchors.centerIn: parent
+ id: okStatusImage
+
+ anchors.verticalCenter: parent.verticalCenter
width: Constants.advancedImu.insStatusImageWidth
height: Constants.advancedImu.insStatusImageWidth
smooth: true
@@ -20,4 +23,14 @@ Item {
}
+ Text {
+ id: label
+
+ text: "OK"
+ anchors.left: okStatusImage.right
+ anchors.leftMargin: Constants.fusionStatusFlags.labelMargin
+ anchors.verticalCenter: okStatusImage.verticalCenter
+ font.pointSize: Constants.mediumPointSize
+ }
+
}
diff --git a/resources/AdvancedTabComponents/UnknownStatus.qml b/resources/AdvancedTabComponents/UnknownStatus.qml
index 6eade4a05..dff168784 100644
--- a/resources/AdvancedTabComponents/UnknownStatus.qml
+++ b/resources/AdvancedTabComponents/UnknownStatus.qml
@@ -1,10 +1,13 @@
import "../Constants"
import QtGraphicalEffects 1.15
import QtQuick 2.5
+import QtQuick.Layouts 1.15
Item {
Image {
- anchors.centerIn: parent
+ id: unknownStatusImage
+
+ anchors.verticalCenter: parent.verticalCenter
width: Constants.advancedImu.insStatusImageWidth
height: Constants.advancedImu.insStatusImageWidth
smooth: true
@@ -20,4 +23,14 @@ Item {
}
+ Text {
+ id: label
+
+ text: "UNKNOWN"
+ anchors.left: unknownStatusImage.right
+ anchors.leftMargin: Constants.fusionStatusFlags.labelMargin
+ anchors.verticalCenter: unknownStatusImage.verticalCenter
+ font.pointSize: Constants.mediumPointSize
+ }
+
}
diff --git a/resources/AdvancedTabComponents/WarningStatus.qml b/resources/AdvancedTabComponents/WarningStatus.qml
index 855e9518d..bee8da9db 100644
--- a/resources/AdvancedTabComponents/WarningStatus.qml
+++ b/resources/AdvancedTabComponents/WarningStatus.qml
@@ -1,10 +1,13 @@
import "../Constants"
import QtGraphicalEffects 1.15
import QtQuick 2.5
+import QtQuick.Layouts 1.15
Item {
Image {
- anchors.centerIn: parent
+ id: warningStatusImage
+
+ anchors.verticalCenter: parent.verticalCenter
width: Constants.advancedImu.insStatusImageWidth
height: Constants.advancedImu.insStatusImageWidth
smooth: true
@@ -20,4 +23,14 @@ Item {
}
+ Text {
+ id: label
+
+ text: "WARNING"
+ anchors.left: warningStatusImage.right
+ anchors.leftMargin: Constants.fusionStatusFlags.labelMargin
+ anchors.verticalCenter: warningStatusImage.verticalCenter
+ font.pointSize: Constants.mediumPointSize
+ }
+
}
diff --git a/resources/Constants/Constants.qml b/resources/Constants/Constants.qml
index 21afe2632..754bb5025 100644
--- a/resources/Constants/Constants.qml
+++ b/resources/Constants/Constants.qml
@@ -39,6 +39,7 @@ QtObject {
property QtObject icons
property QtObject trackingSkyPlot
property QtObject networking
+ property QtObject fusionStatusFlags
readonly property int staticTimerIntervalRate: 5 // 5 Hz
readonly property int staticTableTimerIntervalRate: 10 // 10 Hz
readonly property int staticTimerSlowIntervalRate: 2 // 2 Hz
@@ -179,6 +180,15 @@ QtObject {
readonly property int messageBroadcasterIntValidatorUInt16Max: 65535
}
+ fusionStatusFlags: QtObject {
+ readonly property int spacing: 20
+ readonly property int fusionStatusWidth: 80
+ readonly property int labelMargin: 5
+ readonly property int labelFontSize: 14
+ readonly property int titleFontSize: 16
+ readonly property string title: "Fusion Status"
+ }
+
genericTable: QtObject {
readonly property int headerZOffset: 100
readonly property int padding: 2
diff --git a/resources/console_resources.qrc b/resources/console_resources.qrc
index 96db255d5..bd804b1e7 100644
--- a/resources/console_resources.qrc
+++ b/resources/console_resources.qrc
@@ -31,6 +31,7 @@
AdvancedTabComponents/AdvancedMagnetometerTab.qml
AdvancedTabComponents/AdvancedSpectrumAnalyzerTab.qml
AdvancedTabComponents/AdvancedSpectrumAnalyzerTabChannelBar.qml
+ AdvancedTabComponents/AdvancedInsTab.qml
AdvancedTabComponents/UnknownStatus.qml
AdvancedTabComponents/WarningStatus.qml
AdvancedTabComponents/OkStatus.qml