Skip to content

Commit 6e7209c

Browse files
Remove use of MetricsMonitor in the app (#581)
* Remove use of MetricsMonitor in the app * Remove all references to csac telemetry. Co-authored-by: John Michael Burke <[email protected]>
1 parent 37d4f01 commit 6e7209c

File tree

11 files changed

+1
-323
lines changed

11 files changed

+1
-323
lines changed

console_backend/src/advanced_system_monitor_tab.rs

Lines changed: 0 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
use capnp::message::Builder;
22
use ordered_float::OrderedFloat;
33
use sbp::messages::piksi::{MsgDeviceMonitor, MsgThreadState};
4-
use sbp::messages::system::{MsgCsacTelemetry, MsgCsacTelemetryLabels};
54
use std::collections::HashMap;
65

76
use crate::client_sender::BoxedClientSender;
87
use crate::types::UartState;
98
use crate::utils::{cc_to_c, normalize_cpu_usage, serialize_capnproto_builder};
109

1110
const NO_NAME: &str = "(no name)";
12-
const METRICS_OF_INTEREST: &[&str] = &["Status", "Alarm", "Mode", "Phase", "DiscOK"];
1311
const CURR: &str = "Curr";
1412
const AVG: &str = "Avg";
1513
const MIN: &str = "Min";
@@ -27,25 +25,17 @@ struct ThreadStateFields {
2725
/// # Fields:
2826
///
2927
/// - `client_send`: Client Sender channel for communication from backend to frontend.
30-
/// - `csac_received`: CsacTelemetry received flag.
31-
/// - `csac_telem_list`: Vec of CsacTelemetry metrics and corresponding values.
3228
/// - `fe_temp`: RF frontend temperature reading.
33-
/// - `headers`: Vec of CsacTelemetry metric labels.
3429
/// - `obs_latency`: UART state latency measurements.
3530
/// - `obs_period`: UART state period measurements.
36-
/// - `telem_header_index`: Index of current CsacTelemetry label packet.
3731
/// - `threads`: Vec of, ThreadStateFields, running threads on device containing cpu and memory metric values.
3832
/// - `threads_table_list`: Vec of ThreadStateFields, sent to frontend after heartbeat received.
3933
/// - `zynq_temp`: Zynq SoC temperature reading.
4034
pub struct AdvancedSystemMonitorTab {
4135
client_sender: BoxedClientSender,
42-
csac_received: bool,
43-
csac_telem_list: Vec<(String, String)>,
4436
fe_temp: f64,
45-
headers: Vec<String>,
4637
obs_latency: HashMap<String, i32>,
4738
obs_period: HashMap<String, i32>,
48-
telem_header_index: Option<u8>,
4939
threads: Vec<ThreadStateFields>,
5040
threads_table_list: Vec<ThreadStateFields>,
5141
zynq_temp: f64,
@@ -54,10 +44,7 @@ impl AdvancedSystemMonitorTab {
5444
pub fn new(client_sender: BoxedClientSender) -> AdvancedSystemMonitorTab {
5545
AdvancedSystemMonitorTab {
5646
client_sender,
57-
csac_received: false,
58-
csac_telem_list: vec![],
5947
fe_temp: 0.0,
60-
headers: vec![],
6148
obs_latency: {
6249
UART_STATE_KEYS
6350
.iter()
@@ -70,7 +57,6 @@ impl AdvancedSystemMonitorTab {
7057
.map(|key| (String::from(*key), 0))
7158
.collect()
7259
},
73-
telem_header_index: None,
7460
threads: vec![],
7561
threads_table_list: vec![],
7662
zynq_temp: 0.0,
@@ -109,41 +95,6 @@ impl AdvancedSystemMonitorTab {
10995
self.fe_temp = cc_to_c(msg.fe_temperature);
11096
}
11197

112-
pub fn handle_csac_telemetry_labels(&mut self, msg: MsgCsacTelemetryLabels) {
113-
self.headers = msg
114-
.telemetry_labels
115-
.to_string()
116-
.split(',')
117-
.map(|s| s.to_string())
118-
.collect();
119-
self.telem_header_index = Some(msg.id);
120-
}
121-
122-
pub fn handle_csac_telemetry(&mut self, msg: MsgCsacTelemetry) {
123-
self.csac_telem_list.clear();
124-
if let Some(header_index) = self.telem_header_index {
125-
if msg.id == header_index {
126-
self.csac_received = true;
127-
let telems: Vec<String> = msg
128-
.telemetry
129-
.to_string()
130-
.split(',')
131-
.map(|s| s.to_string())
132-
.collect();
133-
self.headers
134-
.clone()
135-
.iter()
136-
.enumerate()
137-
.for_each(|(i, header)| {
138-
if METRICS_OF_INTEREST.contains(&(header.clone().as_str())) {
139-
self.csac_telem_list
140-
.push((header.clone(), telems[i].clone()));
141-
}
142-
});
143-
}
144-
}
145-
}
146-
14798
pub fn handle_uart_state(&mut self, msg: UartState) {
14899
let uart_fields = msg.fields();
149100
self.obs_latency
@@ -198,19 +149,8 @@ impl AdvancedSystemMonitorTab {
198149
entry.set_stack_free(val.stack_free);
199150
}
200151
}
201-
let mut csac_telem_entries = status
202-
.reborrow()
203-
.init_csac_telem_list(self.csac_telem_list.len() as u32);
204-
{
205-
for (i, (key, val)) in self.csac_telem_list.iter().enumerate() {
206-
let mut entry = csac_telem_entries.reborrow().get(i as u32);
207-
entry.set_key(key);
208-
entry.set_val(val);
209-
}
210-
}
211152
status.set_zynq_temp(self.zynq_temp);
212153
status.set_fe_temp(self.fe_temp);
213-
status.set_csac_received(self.csac_received);
214154
self.client_sender
215155
.send_data(serialize_capnproto_builder(builder));
216156
}
@@ -304,59 +244,6 @@ mod tests {
304244
assert_eq!(*tab.obs_period.get(&MAX.to_string()).unwrap(), pmax);
305245
}
306246

307-
#[test]
308-
fn handle_csac_telemetry_test() {
309-
let client_send = TestSender::boxed();
310-
let mut tab = AdvancedSystemMonitorTab::new(client_send);
311-
let id = 13;
312-
let headers: Vec<String> = METRICS_OF_INTEREST.iter().map(|s| s.to_string()).collect();
313-
tab.headers = headers.clone();
314-
let telemetry_pre: Vec<String> = "4,3,2,1,0".split(',').map(|s| s.to_string()).collect();
315-
let telemetry = SbpString::from(telemetry_pre.join(","));
316-
let csac_telem = MsgCsacTelemetry {
317-
sender_id: Some(1337),
318-
id,
319-
telemetry,
320-
};
321-
tab.handle_csac_telemetry(csac_telem.clone());
322-
assert!(tab.csac_telem_list.is_empty());
323-
let bad_id = 31;
324-
tab.telem_header_index = Some(bad_id);
325-
assert!(!tab.csac_received);
326-
tab.handle_csac_telemetry(csac_telem.clone());
327-
assert!(tab.csac_telem_list.is_empty());
328-
tab.telem_header_index = Some(id);
329-
assert!(!tab.csac_received);
330-
tab.handle_csac_telemetry(csac_telem);
331-
assert!(!tab.csac_telem_list.is_empty());
332-
assert!(tab.csac_received);
333-
let telem_table_list: Vec<(String, String)> = headers
334-
.iter()
335-
.zip(telemetry_pre)
336-
.map(|(h, t)| (h.clone(), t))
337-
.collect();
338-
assert_eq!(tab.csac_telem_list, telem_table_list);
339-
}
340-
#[test]
341-
fn handle_csac_telemetry_labels_test() {
342-
let client_send = TestSender::boxed();
343-
let mut tab = AdvancedSystemMonitorTab::new(client_send);
344-
let id = 13;
345-
let headers_pre: Vec<String> = "mcdonald,had,a,farm"
346-
.split(',')
347-
.map(|s| s.to_string())
348-
.collect();
349-
let telemetry_labels = SbpString::from(headers_pre.join(","));
350-
let csac_telem_labels = MsgCsacTelemetryLabels {
351-
sender_id: Some(1337),
352-
id,
353-
telemetry_labels,
354-
};
355-
assert!(tab.telem_header_index.is_none());
356-
tab.handle_csac_telemetry_labels(csac_telem_labels);
357-
assert_eq!(tab.telem_header_index, Some(id));
358-
assert_eq!(tab.headers, headers_pre);
359-
}
360247
#[test]
361248
fn handle_device_monitor_test() {
362249
let client_send = TestSender::boxed();

console_backend/src/common_constants.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,14 +257,10 @@ pub enum Keys {
257257
OBS_LATENCY,
258258
#[strum(serialize = "THREADS_TABLE")]
259259
THREADS_TABLE,
260-
#[strum(serialize = "CSAC_TELEM_LIST")]
261-
CSAC_TELEM_LIST,
262260
#[strum(serialize = "ZYNQ_TEMP")]
263261
ZYNQ_TEMP,
264262
#[strum(serialize = "FE_TEMP")]
265263
FE_TEMP,
266-
#[strum(serialize = "CSAC_RECEIVED")]
267-
CSAC_RECEIVED,
268264
#[strum(serialize = "RUNNING")]
269265
RUNNING,
270266
#[strum(serialize = "NETWORK_INFO")]

console_backend/src/process_messages.rs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ use sbp::{
1111
observation::{MsgObsDepA, MsgSvAzEl},
1212
orientation::{MsgAngularRate, MsgBaselineHeading, MsgOrientEuler},
1313
piksi::{MsgDeviceMonitor, MsgNetworkStateResp, MsgThreadState},
14-
system::{
15-
MsgCsacTelemetry, MsgCsacTelemetryLabels, MsgHeartbeat, MsgInsStatus, MsgInsUpdates,
16-
MsgStartup,
17-
},
14+
system::{MsgHeartbeat, MsgInsStatus, MsgInsUpdates, MsgStartup},
1815
tracking::{MsgMeasurementState, MsgTrackingState},
1916
},
2017
Sbp, SbpMessage,
@@ -122,18 +119,6 @@ fn register_events(link: sbp::link::Link<Tabs>) {
122119
link.register(|tabs: &Tabs, msg: MsgBaselineHeading| {
123120
tabs.baseline.lock().unwrap().handle_baseline_heading(msg);
124121
});
125-
link.register(|tabs: &Tabs, msg: MsgCsacTelemetry| {
126-
tabs.advanced_system_monitor
127-
.lock()
128-
.unwrap()
129-
.handle_csac_telemetry(msg);
130-
});
131-
link.register(|tabs: &Tabs, msg: MsgCsacTelemetryLabels| {
132-
tabs.advanced_system_monitor
133-
.lock()
134-
.unwrap()
135-
.handle_csac_telemetry_labels(msg);
136-
});
137122
link.register(|tabs: &Tabs, msg: MsgDeviceMonitor| {
138123
tabs.advanced_system_monitor
139124
.lock()

resources/AdvancedTabComponents/AdvancedSystemMonitorTab.qml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ Item {
5555
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[2][0]] = advancedSystemMonitorData.obs_latency[2][1];
5656
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
5757
leftPane.observationConnectionMonitor.obsLatency[advancedSystemMonitorData.obs_latency[3][0]] = advancedSystemMonitorData.obs_latency[3][1];
58-
leftPane.metricsMonitor.entries = advancedSystemMonitorData.csac_telem_list;
59-
leftPane.metricsMonitor.csacReceived = advancedSystemMonitorData.csac_received;
6058
leftPane.deviceMonitor.zynqTemp = advancedSystemMonitorData.zynq_temp;
6159
leftPane.deviceMonitor.feTemp = advancedSystemMonitorData.fe_temp;
6260
}

resources/AdvancedTabComponents/AdvancedSystemMonitorTabLeftPane.qml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import SwiftConsole 1.0
99
Item {
1010
property alias observationConnectionMonitor: observationConnectionMonitor
1111
property alias deviceMonitor: deviceMonitorAndResetDevice.deviceMonitor
12-
property alias metricsMonitor: metricsMonitor
1312

1413
ColumnLayout {
1514
id: gridLayout
@@ -30,13 +29,6 @@ Item {
3029
Layout.fillHeight: true
3130
}
3231

33-
MetricsMonitor {
34-
id: metricsMonitor
35-
36-
visible: false
37-
enabled: false
38-
}
39-
4032
}
4133

4234
}

0 commit comments

Comments
 (0)