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