diff --git a/Cargo.lock b/Cargo.lock index 28f8dd19711eb1db9ead461d53f207f347c34c51..16cf1460778dad9f37eb553a0289dc9d55a48781 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -631,7 +631,7 @@ dependencies = [ [[package]] name = "ham-cats" version = "0.1.0" -source = "git+https://gitlab.scd31.com/cats/ham-cats#25ed83d5eb68cd54f438f487c37f9059cd464e87" +source = "git+https://gitlab.scd31.com/cats/ham-cats#2662fd88ededffad2598ece932a58e1049325aaa" dependencies = [ "arrayvec", "bitvec", diff --git a/src/util.rs b/src/util.rs index 2f8fd9a399b043a5bc292fae182b6746e081f16c..bded3e255f335cc5cbc69e240212ba8a54ba5afc 100644 --- a/src/util.rs +++ b/src/util.rs @@ -71,6 +71,49 @@ pub fn print_packet(pkt: &Packet<MAX_PACKET_LEN>, rssi: Option<f64>) { gps.heading() ); } + + if let Some(info) = pkt.node_info() { + match (info.hardware_id(), info.software_id()) { + (Some(hw), Some(sw)) => { + println!( + "{} \t{hw:#06x} {} {sw:#04x}", + "HW:".color(color), + "SW:".color(color) + ); + } + (Some(hw), None) => { + println!("{} \t{hw:#06x}", "SW:".color(color)); + } + (None, Some(sw)) => { + println!("{} \t{sw:#04x}", "SW:".color(color)); + } + (None, None) => {} + } + + if let Some(uptime) = info.uptime() { + println!("{} \t{} s", "UTIME:".color(color), uptime); + } + + if let Some(a_height) = info.antenna_height() { + println!("{} \t{} m", "VERT:".color(color), a_height); + } + + if let Some(a_gain) = info.antenna_gain() { + println!("{} \t{} dBi", "GAIN:".color(color), a_gain); + } + + if let Some(power) = info.tx_power() { + println!("{} \t{} dBm", "TXP:".color(color), power); + } + + if let Some(volts) = info.voltage() { + println!("{} \t{} V", "VOLTS:".color(color), volts); + } + + if let Some(temp) = info.xcvr_temperature() { + println!("{} \t{} C", "TEMP:".color(color), temp); + } + } } pub fn attempt_decode<'a>(