From 928bb1f2efe89749babfe135cad4cced4c557212 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Sat, 13 Apr 2024 11:39:24 -0700 Subject: [PATCH 1/2] fix display of PacketUp --- src/packet.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/packet.rs b/src/packet.rs index 13f370c3..fcb491d7 100644 --- a/src/packet.rs +++ b/src/packet.rs @@ -50,10 +50,16 @@ impl From for PacketDown { impl fmt::Display for PacketUp { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let mut decimal = self.0.frequency.to_string(); + // insert period before the last 6 digits + decimal.insert(decimal.len() - 6, '.'); + // remove trailing 0's + decimal = decimal.trim_end_matches('0').to_string(); + f.write_fmt(format_args!( - "@{} us, {:.2} MHz, {:?}, snr: {}, rssi: {}, len: {}", + "@{} us, {} MHz, {:?}, snr: {}, rssi: {}, len: {}", self.0.timestamp, - self.0.frequency, + decimal, self.0.datarate(), self.0.snr, self.0.rssi, From 84604e1d3a1e9f519660a9c333a8fcdf0088ec99 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Wed, 17 Apr 2024 08:57:04 -0700 Subject: [PATCH 2/2] handle edge-case of less than 7 digits --- src/packet.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/packet.rs b/src/packet.rs index fcb491d7..eef25a41 100644 --- a/src/packet.rs +++ b/src/packet.rs @@ -50,16 +50,23 @@ impl From for PacketDown { impl fmt::Display for PacketUp { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let mut decimal = self.0.frequency.to_string(); - // insert period before the last 6 digits - decimal.insert(decimal.len() - 6, '.'); - // remove trailing 0's - decimal = decimal.trim_end_matches('0').to_string(); + let mut frequency = self.0.frequency.to_string(); + if frequency.len() > 6 { + // insert period before the last 6 digits + frequency.insert(frequency.len() - 6, '.'); + // remove trailing 0's + frequency = frequency.trim_end_matches('0').to_string(); + // append MHz to the string + frequency.push_str(" MHz"); + } else { + // return in Hz + frequency.push_str(" Hz"); + } f.write_fmt(format_args!( - "@{} us, {} MHz, {:?}, snr: {}, rssi: {}, len: {}", + "@{} us, {}, {:?}, snr: {}, rssi: {}, len: {}", self.0.timestamp, - decimal, + frequency, self.0.datarate(), self.0.snr, self.0.rssi,