rustypot 1.4.2

Package to communicate with Dynamixel motors.
Documentation
use std::{error::Error, thread, time::Duration};

use rustypot::servo::dynamixel::mx;
use rustypot::DynamixelProtocolHandler;

fn main() -> Result<(), Box<dyn Error>> {
    let mut serial_port = serialport::new("/dev/tty.usbmodem142401", 1_000_000)
        .timeout(Duration::from_millis(10))
        .open()?;

    let io = DynamixelProtocolHandler::v1();

    let _x: f64 = mx::read_present_position(&io, serial_port.as_mut(), 11)?;
    let _x: Vec<f64> = mx::sync_read_present_position(&io, serial_port.as_mut(), &[11, 12])?;

    mx::sync_write_raw_goal_position(&io, serial_port.as_mut(), &[11, 12], &[2048, 2048])?;

    loop {
        mx::sync_write_raw_goal_position(&io, serial_port.as_mut(), &[11], &[2048])?;

        let temp = mx::read_present_temperature(&io, serial_port.as_mut(), 11)?;
        println!("{:?}", temp);

        thread::sleep(Duration::from_millis(500));

        mx::sync_write_raw_goal_position(&io, serial_port.as_mut(), &[11], &[1000])?;
        let pos = mx::read_raw_present_position(&io, serial_port.as_mut(), 11)?;
        println!("{:?}", pos);

        thread::sleep(Duration::from_millis(500));
    }
}