X-Git-Url: https://code.octet-stream.net/m17rt/blobdiff_plain/9a5a0d1e59e5f813f17239b674336ac9814c16b4..HEAD:/tools/m17rt-netclient/src/main.rs?ds=inline diff --git a/tools/m17rt-netclient/src/main.rs b/tools/m17rt-netclient/src/main.rs index fbcfb15..3204b5b 100644 --- a/tools/m17rt-netclient/src/main.rs +++ b/tools/m17rt-netclient/src/main.rs @@ -34,6 +34,14 @@ fn main() { .required(true) .help("Your callsign for reflector registration and transmissions"), ) + .arg( + Arg::new("reflector") + .long("reflector") + .short('r') + .value_parser(valid_callsign) + .required(true) + .help("Reflector designator/callsign, often starting with 'M17-'"), + ) .arg( Arg::new("module") .long("module") @@ -59,11 +67,20 @@ fn main() { let hostname = args.get_one::("hostname").unwrap(); let port = args.get_one::("port").unwrap(); let callsign = args.get_one::("callsign").unwrap(); + let reflector = args.get_one::("reflector").unwrap(); let module = args.get_one::("module").unwrap(); let input = args.get_one::("input"); let output = args.get_one::("output"); - let mut tx = Codec2TxAdapter::new(callsign.clone(), M17Address::new_broadcast()); + let ref_with_mod = format!("{} {}", reflector, module); + let Ok(reflector) = M17Address::from_callsign(&ref_with_mod) else { + println!( + "Unable to create valid destination address for reflector + callsign '{ref_with_mod}'" + ); + std::process::exit(1); + }; + + let mut tx = Codec2TxAdapter::new(callsign.clone(), reflector); if let Some(input) = input { tx.set_input_card(input); }