Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions console_backend/src/baseline_tab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -426,8 +426,7 @@ impl BaselineTab {
fn solution_draw(&mut self, buttons: BaselineTabButtons) {
if buttons.clear {
self.clear_sln();
}
if buttons.pause {
} else if buttons.pause {
return;
}
if buttons.reset {
Expand Down
3 changes: 1 addition & 2 deletions console_backend/src/solution_tab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -648,8 +648,7 @@ impl SolutionTab {
pub fn solution_draw(&mut self, clear: bool, pause: bool) {
if clear {
self.clear_sln();
}
if pause {
} else if pause {
return;
}
let current_mode: Option<String> = if !self.pending_draw_modes.is_empty() {
Expand Down
74 changes: 20 additions & 54 deletions resources/AdvancedTabComponents/AdvancedSystemMonitorTab.qml
Original file line number Diff line number Diff line change
Expand Up @@ -12,64 +12,30 @@ Item {
id: advancedSystemMonitorData
}

GridLayout {
RowLayout {
id: gridLayout

rows: Constants.systemMonitor.rows
columns: Constants.systemMonitor.columns
rowSpacing: Constants.systemMonitor.rowSpacing
columnSpacing: Constants.systemMonitor.columnSpacing
anchors.fill: parent

ThreadStateTable {
id: threadStateTable

Layout.fillHeight: true
Layout.fillWidth: true
Layout.columnSpan: Constants.systemMonitor.columns
Layout.rowSpan: Constants.systemMonitor.topRowSpan
Layout.preferredHeight: Constants.systemMonitor.topRowSpan
Layout.preferredWidth: Constants.systemMonitor.columns
}

ObservationConnectionMonitor {
id: observationConnectionMonitor
AdvancedSystemMonitorTabLeftPane {
id: leftPane

Layout.minimumWidth: parent.width / 2
Layout.fillHeight: true
Layout.fillWidth: true
Layout.columnSpan: Constants.systemMonitor.observationConnectionMonitorColumnSpan
Layout.rowSpan: Constants.systemMonitor.bottomRowSpan
Layout.preferredHeight: Constants.systemMonitor.bottomRowSpan
Layout.preferredWidth: Constants.systemMonitor.observationConnectionMonitorColumnSpan
}

DeviceMonitor {
id: deviceMonitor

Layout.fillHeight: true
Layout.fillWidth: true
Layout.columnSpan: Constants.systemMonitor.deviceMonitorColumnSpan
Layout.rowSpan: Constants.systemMonitor.bottomRowSpan
Layout.preferredHeight: Constants.systemMonitor.bottomRowSpan
Layout.preferredWidth: Constants.systemMonitor.deviceMonitorColumnSpan
}

MetricsMonitor {
id: metricsMonitor
ThreadStateTable {
id: threadStateTable

Layout.fillHeight: true
Layout.fillWidth: true
Layout.columnSpan: Constants.systemMonitor.metricsMonitorColumnSpan
Layout.rowSpan: Constants.systemMonitor.bottomRowSpan
Layout.preferredHeight: Constants.systemMonitor.bottomRowSpan
Layout.preferredWidth: Constants.systemMonitor.metricsMonitorColumnSpan
}

}

Timer {
interval: Utils.hzToMilliseconds(Constants.staticTableTimerIntervalRate)
running: true
running: advancedSystemMonitorTab.visible
repeat: true
onTriggered: {
if (!advancedTab.visible)
Expand All @@ -80,19 +46,19 @@ Item {
return ;

threadStateTable.entries = advancedSystemMonitorData.threads_table;
observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[0][0]] = advancedSystemMonitorData.obs_period[0][1];
observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[1][0]] = advancedSystemMonitorData.obs_period[1][1];
observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[2][0]] = advancedSystemMonitorData.obs_period[2][1];
observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[3][0]] = advancedSystemMonitorData.obs_period[3][1];
observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[0][0]] = advancedSystemMonitorData.obs_latency[0][1];
observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[1][0]] = advancedSystemMonitorData.obs_latency[1][1];
observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[2][0]] = advancedSystemMonitorData.obs_latency[2][1];
observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
metricsMonitor.entries = advancedSystemMonitorData.csac_telem_list;
metricsMonitor.csacReceived = advancedSystemMonitorData.csac_received;
deviceMonitor.zynqTemp = advancedSystemMonitorData.zynq_temp;
deviceMonitor.feTemp = advancedSystemMonitorData.fe_temp;
leftPane.observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[0][0]] = advancedSystemMonitorData.obs_period[0][1];
leftPane.observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[1][0]] = advancedSystemMonitorData.obs_period[1][1];
leftPane.observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[2][0]] = advancedSystemMonitorData.obs_period[2][1];
leftPane.observationConnectionMonitor.obsPeriod[advancedSystemMonitorData.obs_period[3][0]] = advancedSystemMonitorData.obs_period[3][1];
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[0][0]] = advancedSystemMonitorData.obs_latency[0][1];
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[1][0]] = advancedSystemMonitorData.obs_latency[1][1];
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[2][0]] = advancedSystemMonitorData.obs_latency[2][1];
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
leftPane.metricsMonitor.entries = advancedSystemMonitorData.csac_telem_list;
leftPane.metricsMonitor.csacReceived = advancedSystemMonitorData.csac_received;
leftPane.deviceMonitor.zynqTemp = advancedSystemMonitorData.zynq_temp;
leftPane.deviceMonitor.feTemp = advancedSystemMonitorData.fe_temp;
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import "../BaseComponents"
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 {
property alias observationConnectionMonitor: observationConnectionMonitor
property alias deviceMonitor: deviceMonitorAndResetDevice.deviceMonitor
property alias metricsMonitor: metricsMonitor

ColumnLayout {
id: gridLayout

anchors.fill: parent

DeviceMonitorAndResetDevice {
id: deviceMonitorAndResetDevice

Layout.fillWidth: true
Layout.preferredHeight: parent.height * 0.25
}

ObservationConnectionMonitor {
id: observationConnectionMonitor

Layout.fillWidth: true
Layout.fillHeight: true
}

MetricsMonitor {
id: metricsMonitor

visible: false
enabled: false
}

}

}
42 changes: 42 additions & 0 deletions resources/AdvancedTabComponents/DeviceMonitorAndResetDevice.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import "../BaseComponents"
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 {
property alias deviceMonitor: deviceMonitor

RowLayout {
anchors.fill: parent

DeviceMonitor {
id: deviceMonitor

Layout.preferredWidth: parent.width * 0.5
Layout.fillHeight: true
}

SwiftButton {
id: resetButton

Layout.preferredWidth: parent.width * 0.5
Layout.alignment: Qt.AlignHCenter
ToolTip.visible: hovered
ToolTip.text: Constants.systemMonitor.resetButtonLabel
text: Constants.systemMonitor.resetButtonLabel
icon.source: Constants.icons.connectButtonPath
icon.width: Constants.systemMonitor.resetButtonIconSideLength
icon.height: Constants.systemMonitor.resetButtonIconSideLength
display: AbstractButton.TextUnderIcon
flat: true
onClicked: {
data_model.reset_device();
}
}

}

}
16 changes: 0 additions & 16 deletions resources/AdvancedTabComponents/ObservationConnectionMonitor.qml
Original file line number Diff line number Diff line change
Expand Up @@ -137,22 +137,6 @@ Item {

}

SwiftButton {
id: resetButton

ToolTip.visible: hovered
ToolTip.text: Constants.systemMonitor.resetButtonLabel
text: Constants.systemMonitor.resetButtonLabel
icon.source: Constants.icons.connectButtonPath
icon.width: Constants.systemMonitor.resetButtonIconSideLength
icon.height: Constants.systemMonitor.resetButtonIconSideLength
display: AbstractButton.TextUnderIcon
flat: true
onClicked: {
data_model.reset_device();
}
}

}

}
11 changes: 5 additions & 6 deletions resources/AdvancedTabComponents/ThreadStateTable.qml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import QtQuick.Layouts 1.15
import SwiftConsole 1.0

Item {
property variant columnWidths: [parent.width / 3, parent.width / 3, parent.width / 3]
property real mouse_x: 0
property variant entries: []

Expand All @@ -20,7 +19,7 @@ Item {
z: Constants.genericTable.headerZOffset

delegate: Rectangle {
implicitWidth: columnWidths[index]
implicitWidth: tableView.columnWidths[index]
implicitHeight: Constants.genericTable.cellHeight
border.color: Constants.genericTable.borderColor

Expand Down Expand Up @@ -49,9 +48,9 @@ Item {
var delta_x = (mouseX - mouse_x);
var next_idx = (index + 1) % 3;
var min_width = tableView.width / 6;
if (columnWidths[index] + delta_x > min_width && columnWidths[next_idx] - delta_x > min_width) {
columnWidths[index] += delta_x;
columnWidths[next_idx] -= delta_x;
if (tableView.columnWidths[index] + delta_x > min_width && tableView.columnWidths[next_idx] - delta_x > min_width) {
tableView.columnWidths[index] += delta_x;
tableView.columnWidths[next_idx] -= delta_x;
}
tableView.forceLayout();
}
Expand Down Expand Up @@ -82,7 +81,7 @@ Item {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
columnWidths: parent.columnWidths
columnWidths: [parent.width / 3, parent.width / 3, parent.width / 3]

model: TableModel {
id: tableModel
Expand Down
2 changes: 2 additions & 0 deletions resources/console_resources.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@
<file>AdvancedTab.qml</file>
<file>ConnectionScreen.qml</file>
<file>AdvancedTabComponents/AdvancedSystemMonitorTab.qml</file>
<file>AdvancedTabComponents/AdvancedSystemMonitorTabLeftPane.qml</file>
<file>AdvancedTabComponents/ThreadStateTable.qml</file>
<file>AdvancedTabComponents/DeviceMonitor.qml</file>
<file>AdvancedTabComponents/DeviceMonitorAndResetDevice.qml</file>
<file>AdvancedTabComponents/MetricsMonitor.qml</file>
<file>AdvancedTabComponents/ObservationConnectionMonitor.qml</file>
<file>AdvancedTabComponents/AdvancedImuTab.qml</file>
Expand Down