Non-working snapshot.
This commit is contained in:
+48
-34
@@ -2,6 +2,7 @@ use chrono::Local;
|
||||
use clap::Parser;
|
||||
use nmea::Nmea;
|
||||
use nmea::SentenceType;
|
||||
use riglib::kenwood::KenwoodRig;
|
||||
use serialport::DataBits;
|
||||
use serialport::Parity;
|
||||
use serialport::StopBits;
|
||||
@@ -13,7 +14,7 @@ use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
use riglib::{Rig as Rig_riglib, ReceiverId};
|
||||
use riglib::kenwood::KenwoodBuilder;
|
||||
use riglib::kenwood::models::ts_890s;
|
||||
use riglib::kenwood::models::ts_990s;
|
||||
use riglib::s_units_from_dbm;
|
||||
|
||||
/// Command-line arguments using Clap.
|
||||
@@ -167,7 +168,7 @@ fn get_rig(x: &str) -> Rig {
|
||||
"ic-7300" => build_rig("ic-7300", 115200, 8, 1, "none", "1502", "FA"),
|
||||
_ => {
|
||||
// This prints a message every loop but that's OK.
|
||||
println!("Rig '{x}' in rig list. Using default connection values.");
|
||||
println!("Rig '{x}' not in rig list. Using default connection values.");
|
||||
build_rig("qmx", 9600, 8, 2, "none", "SM", "FA")
|
||||
}
|
||||
}
|
||||
@@ -334,39 +335,61 @@ async fn main() -> anyhow::Result<()> {
|
||||
|
||||
println!("Press Ctrl + C to quit");
|
||||
|
||||
let rig1 = KenwoodBuilder::new(ts_890s())
|
||||
.serial_port(&com)
|
||||
.build()
|
||||
.await?;
|
||||
|
||||
let info = rig1.info();
|
||||
println!("Connected: {} {}\n", info.manufacturer, info.model_name);
|
||||
let rx = ReceiverId::VFO_A;
|
||||
dbg!(rx);
|
||||
let freq = rig1.get_frequency(ReceiverId::VFO_A).await?;
|
||||
println!("VFO-A: {} Hz", freq);
|
||||
//rig1.set_frequency(ReceiverId::VFO_A,).await?;
|
||||
// let s_val = rig1.get_s_meter(rx).await?;
|
||||
// println!("{s_val}");
|
||||
|
||||
// Simple test loop to make sure we are getting values each time
|
||||
//for _i in 1..11 {
|
||||
loop {
|
||||
// Get location
|
||||
let ll = get_loc(gps.clone());
|
||||
// Get datestamp
|
||||
let date = Local::now();
|
||||
// Get S-meter
|
||||
//let s_val = get_smeter(&com, &rig_name, frequency);
|
||||
|
||||
// If not QMX, use riglib
|
||||
let mut s_val;
|
||||
let mut s_val_i;
|
||||
if rig_name != "qmx" {
|
||||
let rig1 = KenwoodBuilder::new(ts_990s())
|
||||
.serial_port(&com)
|
||||
.build()
|
||||
.await?;
|
||||
|
||||
//let info = rig1.info();
|
||||
//println!("Connected: {} {}\n", info.manufacturer, info.model_name);
|
||||
let rx = ReceiverId::VFO_A;
|
||||
//let freq = rig1.get_frequency(ReceiverId::VFO_A).await?;
|
||||
//println!("VFO-A: {} Hz", freq);
|
||||
|
||||
let s_val = rig1.get_s_meter(rx).await?; // this is failing on the QMX using TS-890 unless I mess with source
|
||||
let s_units = s_units_from_dbm(s_val);
|
||||
//println!("{a}");
|
||||
let s_val_i = s_val as i32;
|
||||
// dbg!(n);
|
||||
let s_units = s_units_from_dbm(s_val);
|
||||
} else if rig_name == "qmx" {
|
||||
//println!("Connecting to QMX...");
|
||||
// TODO make both of these numbers eventually
|
||||
|
||||
let s_val = get_smeter(&com, &rig_name, frequency);
|
||||
let s_val_i = s_val;
|
||||
}
|
||||
|
||||
|
||||
// Get S-meter
|
||||
// If not QMX, use riglib
|
||||
// let s: (String, String, String) = match rig_name {
|
||||
// "qmx" => {
|
||||
// let s_val = get_smeter(&com, &rig_name, frequency);
|
||||
// let s_val_i = s_val;
|
||||
// (s_val, s_val_i, "".to_string())
|
||||
// },
|
||||
// _ => {
|
||||
// let s_val = rig1.get_s_meter(rx).await?; // this is failing on the QMX using TS-890 unless I mess with source
|
||||
// let s_units = s_units_from_dbm(s_val);
|
||||
// let s_val_i = s_val as i32;
|
||||
// (s_val.to_string(), s_val_i.to_string(), s_units.to_string())
|
||||
// }
|
||||
// }
|
||||
|
||||
println!(
|
||||
"{} {:04} {} {}",
|
||||
"{} {} {} {}",
|
||||
date.format("%Y-%m-%d %H:%M:%S").to_string(),
|
||||
s_val_i,
|
||||
s_val,
|
||||
if s_val_i > 0 {
|
||||
"#".repeat(s_val_i.try_into().unwrap())
|
||||
} else {
|
||||
@@ -374,16 +397,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
},
|
||||
s_units
|
||||
);
|
||||
// match s_val {
|
||||
// // Simple graph as we go. Eventually this will be replaced.
|
||||
// Ok(n) => println!(
|
||||
// "{} {} {}",
|
||||
// date.format("%Y-%m-%d %H:%M:%S").to_string(),
|
||||
// s_val,
|
||||
// "#".repeat(n.try_into().unwrap())
|
||||
// ),
|
||||
// Err(_e) => todo!(),
|
||||
//}
|
||||
|
||||
// If they provided a file name
|
||||
if file_out != "no file" {
|
||||
if let Err(err) = write_row(
|
||||
|
||||
Reference in New Issue
Block a user