extern crate ophir;
extern crate encoding;
extern crate clap;
use std::net::SocketAddrV4;
use std::str::FromStr;
use ophir::ea1::EA1;
use clap::{Arg, App};
fn main() {
let matches = App::new("ophir EA-1 test program")
.version("0.1")
.author("Jared Kofron <jared.kofron@gmail.com>")
.about("get basic device info from an Ophir EA-1")
.arg(Arg::with_name("ip-address")
.short("a")
.long("address")
.value_name("IP_ADDRESS")
.takes_value(true)
.help("ip address of the device")
.required(true))
.get_matches();
let ip_addr = matches.value_of("ip-address").unwrap();
let addr = SocketAddrV4::from_str(&format!("{}:23", ip_addr)).unwrap();
let mut meter = EA1::new(addr).unwrap();
meter.set_echo_enabled(false).unwrap();
let mut power_meter = meter.to_power_mode();
for _ in 0..10 {
let value = power_meter.measure();
println!("{:?}", value);
}
}