Non-working snapshot.
This commit is contained in:
+49
-35
@@ -2,6 +2,7 @@ use chrono::Local;
|
|||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use nmea::Nmea;
|
use nmea::Nmea;
|
||||||
use nmea::SentenceType;
|
use nmea::SentenceType;
|
||||||
|
use riglib::kenwood::KenwoodRig;
|
||||||
use serialport::DataBits;
|
use serialport::DataBits;
|
||||||
use serialport::Parity;
|
use serialport::Parity;
|
||||||
use serialport::StopBits;
|
use serialport::StopBits;
|
||||||
@@ -13,7 +14,7 @@ use std::thread::sleep;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use riglib::{Rig as Rig_riglib, ReceiverId};
|
use riglib::{Rig as Rig_riglib, ReceiverId};
|
||||||
use riglib::kenwood::KenwoodBuilder;
|
use riglib::kenwood::KenwoodBuilder;
|
||||||
use riglib::kenwood::models::ts_890s;
|
use riglib::kenwood::models::ts_990s;
|
||||||
use riglib::s_units_from_dbm;
|
use riglib::s_units_from_dbm;
|
||||||
|
|
||||||
/// Command-line arguments using Clap.
|
/// 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"),
|
"ic-7300" => build_rig("ic-7300", 115200, 8, 1, "none", "1502", "FA"),
|
||||||
_ => {
|
_ => {
|
||||||
// This prints a message every loop but that's OK.
|
// 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")
|
build_rig("qmx", 9600, 8, 2, "none", "SM", "FA")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,39 +335,61 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
|
|
||||||
println!("Press Ctrl + C to quit");
|
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 {
|
loop {
|
||||||
// Get location
|
// Get location
|
||||||
let ll = get_loc(gps.clone());
|
let ll = get_loc(gps.clone());
|
||||||
// Get datestamp
|
// Get datestamp
|
||||||
let date = Local::now();
|
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_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;
|
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!(
|
println!(
|
||||||
"{} {:04} {} {}",
|
"{} {} {} {}",
|
||||||
date.format("%Y-%m-%d %H:%M:%S").to_string(),
|
date.format("%Y-%m-%d %H:%M:%S").to_string(),
|
||||||
s_val_i,
|
s_val,
|
||||||
if s_val_i > 0 {
|
if s_val_i > 0 {
|
||||||
"#".repeat(s_val_i.try_into().unwrap())
|
"#".repeat(s_val_i.try_into().unwrap())
|
||||||
} else {
|
} else {
|
||||||
@@ -374,16 +397,7 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
},
|
},
|
||||||
s_units
|
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 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(
|
||||||
|
|||||||
Reference in New Issue
Block a user