X-Git-Url: https://code.octet-stream.net/m17rt/blobdiff_plain/4cfda08117c4288a5408d45db1ef4be82f4facaa..16aaa4ac98d3719986e49623483c7f17306a4f95:/tools/m17rt-mod/src/main.rs diff --git a/tools/m17rt-mod/src/main.rs b/tools/m17rt-mod/src/main.rs index 08973cb..104d83e 100644 --- a/tools/m17rt-mod/src/main.rs +++ b/tools/m17rt-mod/src/main.rs @@ -1,25 +1,40 @@ use m17app::app::M17App; -use m17app::soundmodem::{ - InputRrcFile, InputSoundcard, NullInputSource, NullOutputSink, OutputRrcFile, Soundmodem, -}; -use m17codec2::{Codec2Adapter, WavePlayer}; +use m17app::link_setup::M17Address; +use m17app::serial::{PttPin, SerialPtt}; +use m17app::soundcard::Soundcard; +use m17app::soundmodem::{NullErrorHandler, Soundmodem}; +use m17codec2::WavePlayer; use std::path::PathBuf; pub fn mod_test() { - let in_path = PathBuf::from("../../../Data/test_vk7xt_8k.wav"); - let out_path = PathBuf::from("../../../Data/mymod.rrc"); - let soundmodem = - Soundmodem::new_with_input_and_output(NullInputSource::new(), OutputRrcFile::new(out_path)); + let soundcard = Soundcard::new("plughw:CARD=Device,DEV=0").unwrap(); + soundcard.set_tx_inverted(true); + let ptt = SerialPtt::new("/dev/ttyUSB0", PttPin::Rts).unwrap(); + let soundmodem = Soundmodem::new( + soundcard.input(), + soundcard.output(), + ptt, + NullErrorHandler::new(), + ); let app = M17App::new(soundmodem); - app.start(); + app.start().unwrap(); std::thread::sleep(std::time::Duration::from_secs(1)); println!("Beginning playback..."); - WavePlayer::play(in_path, app.tx()); - println!("Playback complete, terminating in 5 secs"); - std::thread::sleep(std::time::Duration::from_secs(5)); + WavePlayer::play( + PathBuf::from("../../../Data/test_vk7xt_8k.wav"), + app.tx(), + &M17Address::from_callsign("VK7XT-1").unwrap(), + &M17Address::new_broadcast(), + 0, + ); + println!("Playback complete."); + std::thread::sleep(std::time::Duration::from_secs(1)); + app.close().unwrap(); } fn main() { - env_logger::init(); + env_logger::builder() + .format_timestamp(Some(env_logger::TimestampPrecision::Millis)) + .init(); mod_test(); }