|
- use rn2903::{bytes_to_string, Rn2903};
- use std::env::args;
- use std::process::exit;
- use std::thread;
- use std::time::Duration;
- use std::time::{SystemTime, UNIX_EPOCH};
-
- fn main() {
- let args: Vec<_> = args().collect();
- if args.len() <= 1 {
- eprintln!("rn2903_lora_packet_tx <serial port>");
- eprintln!("\tSend LoRa packets with the current UNIX time every 5 seconds.");
- exit(1);
- }
-
- let mut txvr = Rn2903::new_at(&args[1]).expect("Could not open device. Error");
- println!(
- "Successfully connected. Version: {}",
- txvr.system_version()
- .expect("Could not read from device. Error:")
- );
-
- txvr.mac_pause().unwrap();
- txvr.transact(b"sys set pindig GPIO10 0").unwrap();
- loop {
- txvr.transact(b"sys set pindig GPIO10 1").unwrap();
- let now = SystemTime::now();
- let since_the_epoch = now
- .duration_since(UNIX_EPOCH)
- .expect("Time went backwards")
- .as_millis();
- println!("sending: {}", since_the_epoch);
- txvr.radio_tx(format!("{}", since_the_epoch));
- txvr.transact(b"sys set pindig GPIO10 0").unwrap();
- thread::sleep(Duration::from_millis(100));
- }
- }
|