xio_common 0.12.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 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(),
    ];

    let responses = client.send_and_receive(requests)?;
    for response in responses {
        println!("{:?}", response);
    }

    drop(client);
    Ok(())
}

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