Compare commits

2 Commits

Author SHA1 Message Date
mattbk 90ba8420c5 Convert QMX s-meter measurements to s-units. 2026-09-12 21:56:54 -05:00
mattbk 0d932efc83 Working snapshot. 2026-09-12 21:22:01 -05:00
2 changed files with 18 additions and 16 deletions
+1
View File
@@ -1,2 +1,3 @@
/target /target
/out /out
/riglib
+17 -16
View File
@@ -170,7 +170,7 @@ fn get_rig(x: &str) -> Rig {
} }
// Read S-meter // Read S-meter
fn get_smeter(comport: &str, rig_name: &str, frequency: u32) -> String { fn get_smeter(comport: &str, rig_name: &str, frequency: u32) -> i32 {
// Get the serial connection info for the rig name // Get the serial connection info for the rig name
let rig = get_rig(rig_name); let rig = get_rig(rig_name);
@@ -222,7 +222,13 @@ fn get_smeter(comport: &str, rig_name: &str, frequency: u32) -> String {
//let value = data; //let value = data;
// For S-meter, just take the numbers // For S-meter, just take the numbers
let value = &data[2..5]; let value = &data[2..5];
return format!("{}", value); let value_i = value.parse::<i32>().unwrap();
// return format!("{}", value);
if rig_name == "qmx" {
return (value_i as f32 / 6.0) as i32;
} else {
return value_i;
}
// return; // return;
} }
Err(_) => {} // lol that I can just not put a return in? Err(_) => {} // lol that I can just not put a return in?
@@ -329,8 +335,6 @@ fn main() {
println!("Press Ctrl + C to quit"); println!("Press Ctrl + C to quit");
// Simple test loop to make sure we are getting values each time
//for _i in 1..11 {
loop { loop {
// Get location // Get location
let ll = get_loc(gps.clone()); let ll = get_loc(gps.clone());
@@ -338,17 +342,14 @@ fn main() {
let date = Local::now(); let date = Local::now();
// Get S-meter // Get S-meter
let s_val = get_smeter(&com, &rig, frequency); let s_val = get_smeter(&com, &rig, frequency);
//println!("{a}"); // Print measurements and simple graph
match s_val.parse::<i32>() { println!(
// Simple graph as we go. Eventually this will be replaced. "{} {:#03} {}",
Ok(n) => println!( date.format("%Y-%m-%d %H:%M:%S").to_string(),
"{} {} {}", s_val,
date.format("%Y-%m-%d %H:%M:%S").to_string(), "#".repeat(s_val.try_into().unwrap())
s_val, );
"#".repeat(n.try_into().unwrap())
),
Err(_e) => todo!(),
}
// If they provided a file name // If they provided a file name
if file_out != "no file" { if file_out != "no file" {
if let Err(err) = write_row( if let Err(err) = write_row(
@@ -358,7 +359,7 @@ fn main() {
format!("{:09}", frequency), format!("{:09}", frequency),
format!("{:.8}", ll[0]), format!("{:.8}", ll[0]),
format!("{:.8}", ll[1]), format!("{:.8}", ll[1]),
s_val.to_string(), format!("{}", s_val),
], ],
&file_out, &file_out,
"csv", "csv",