From 5f9bc9eafeed17c2bd7b39ff934cd97abbc69d1d Mon Sep 17 00:00:00 2001 From: Robert Hedman <robert.hedman@mac.com> Date: Thu, 30 Nov 2017 21:51:59 +0100 Subject: [PATCH] added support for direction byte in tracker --- src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index ca5cc2e..111be79 100644 --- a/src/main.rs +++ b/src/main.rs @@ -106,7 +106,7 @@ fn main() { let tracker = thread::spawn(move || { println!("Tracker started."); - let mut serial_buf: [u8; 8] = [0; 8]; + let mut serial_buf: [u8; 10] = [0; 10]; let mut port = serial::open(&COUNTER_SERIAL_PORT).unwrap(); interact(&mut port).unwrap(); @@ -118,8 +118,8 @@ fn main() { // get encoder data from arduino and update local variables match port.read_exact(&mut serial_buf){ Ok(_) => { - let l_speed: f32 = tick_to_speed( ( ((serial_buf[0] as u32) << 24) + ((serial_buf[1] as u32) << 16) + ((serial_buf[2] as u32) << 8) + (serial_buf[3] as u32) ) as i32); - let r_speed: f32 = tick_to_speed( ( ((serial_buf[4] as u32) << 24) + ((serial_buf[5] as u32) << 16) + ((serial_buf[6] as u32) << 8) + (serial_buf[7] as u32) ) as i32); + let l_speed: f32 = tick_to_speed( serial_buf[0], ( ((serial_buf[1] as u32) << 24) + ((serial_buf[2] as u32) << 16) + ((serial_buf[3] as u32) << 8) + (serial_buf[4] as u32) ) as i32); + let r_speed: f32 = tick_to_speed( serial_buf[5], ( ((serial_buf[6] as u32) << 24) + ((serial_buf[7] as u32) << 16) + ((serial_buf[8] as u32) << 8) + (serial_buf[9] as u32) ) as i32); pos.2 = update_state(&pos, l_tick, r_tick); print!("L: {}, ", pos.0); println!("R: {}", pos.1); @@ -271,7 +271,7 @@ const FREQ_TO_OMEGA: f32 = 0.0002; const WHEEL_RADIUS: f32 = 30.0; //cm */ -fn tick_to_speed(tick: i32) -> f32 { +fn tick_to_speed(dir: u8, tick: i32) -> f32 { tick/10.0 } fn update_state(pos: &(f32,f32,f32), l_speed: f32, r_speed: f32) { -- GitLab