From 15aa249f3cf5758e1b895c8ff43bcbacfc2fd2fc Mon Sep 17 00:00:00 2001 From: mattbk Date: Sat, 12 Sep 2026 10:32:03 -0500 Subject: [PATCH] Snapshot. --- src/main.rs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/main.rs b/src/main.rs index 5f3e233..237e0e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -104,6 +104,50 @@ fn get_loc(port: String) -> [f64; 2] { } } +// Rig struct +struct Rig { + name: String, + baud_rate: u32, + data_bits: DataBits, + stop_bits: StopBits, + parity: Parity, +} + +// Create a rig struct +fn build_rig(name: &str, baud_rate: u32, data_bits: u8, stop_bits: u8, parity: &str) -> Rig { + Rig { + name: name.to_string(), + baud_rate, + data_bits: match data_bits { + 5 => DataBits::Five, + 6 => DataBits::Six, + 7 => DataBits::Seven, + 8 => DataBits::Eight, + _ => DataBits::Eight + }, + stop_bits: match stop_bits { + 1 => StopBits::One, + 2 => StopBits::Two, + _ => StopBits::One + }, + parity: match parity { + "none" => Parity::None, + "odd" => Parity::Odd, + "even" => Parity::Even, + _ => Parity::None, + } + } +} + +// Get rig connection info +// https://kevinlynagh.com/notes/match-vs-lookup/ +fn get_rig(x: &str) -> Rig { + match x { + "qmx" => build_rig("qmx", 4800, 8, 2, "none"), + _ => build_rig("qmx", 4800, 8, 2, "none"), + } +} + // Read S-meter fn get_smeter(comport: &str) -> String { let mut port = serialport::new(comport, 4800)