xio_common 0.5.0

XIO commonly used functionality
Documentation
extern crate serialport;
extern crate xio_common;

use xio_common::SendAndReceive;
use xio_common::{query_command_set_version,
                 query_device_firmware_version,
                 query_device_manufacturer, query_device_uuid,
                 query_frame_format_version, Connection, Result};

pub fn run() -> Result<()> {
    let port = "/dev/ttyACM0";
    let mut client = Connection::new(port)?;

    let mut handle = client.get_handle()?;

    let requests = vec![
        query_command_set_version::Request {}.into(),
        query_frame_format_version::Request {}.into(),
        query_device_uuid::Request {}.into(),
        query_device_firmware_version::Request {}.into(),
        query_device_manufacturer::Request {}.into(),
    ];

    for response in handle.send_and_receive(requests)? {
        println!("{:?}", response);
    }

    drop(client);
    Ok(())
}

pub fn main() {
    run().unwrap();
}