e-tipsmemo.hatenablog.com
e-tipsmemo.hatenablog.com
とりあえずRustでWattChecker-REXのサンプルコードと同じことができるようになった
fn main() { println!("Hello, world!"); let mut wc = WattChecker::default(); wc.init(); wc.start_measure(); let running = Arc::new(AtomicBool::new(true)); let r = running.clone(); ctrlc::set_handler(move || { r.store(false, Ordering::SeqCst); }).expect("Error setting Ctrl-C handler"); while running.load(Ordering::SeqCst) { match wc.request_measure() { Ok(cmd) => disp_data(cmd), Err(e) => eprintln!("{:?}", e), } thread::sleep(Duration::from_millis(2000)); } println!("stop measuring"); wc.stop_measure(); }
本当はportをcloneして別スレッドで動かすことで、
WriteとReadのスレッドを分けることもできるがそれは後で。
せっかくリアルタイムで測定してくれているので
これをWeb画面から表示できるようにしてみたい。