Crates.io | libsweep |
lib.rs | libsweep |
version | 1.0.1 |
source | src |
created_at | 2017-09-14 02:10:06.125698 |
updated_at | 2017-09-17 01:37:18.410832 |
description | Rust library for the Scanse Sweep LIDAR module |
homepage | https://github.com/andygrove/libsweep-rs |
repository | https://github.com/andygrove/libsweep-rs |
max_upload_size | |
id | 31668 |
size | 10,229 |
This is a Rust wrapper for the Sweep SDK for interacting with the Scanse Sweep LIDAR unit.
let port = String::from("/dev/ttyUSB0");
let sweep = Sweep::new(port).unwrap();
sweep.start_scanning().unwrap();
let scan = sweep.scan().unwrap();
for sample in &scan {
println!("Angle {}, Distance {}, Signal Strength: {}",
sample.angle, sample.distance, sample.signal_strength);
}
sweep.stop_scanning().unwrap();
This crate relies on the Sweep SDK (https://github.com/scanse/sweep-sdk) being installed.
Connect the LIDAR unit and find out which port it is using. On Raspberry Pi it is likely /dev/ttyUSB0
or similar. On Mac it is likely somthing like /dev/tty.usbserial-DM00KC6Z
.
Run the example using this syntax, passing the port as a command-line parameter.
cargo run --example scan /dev/ttyUSB0
You should see output like:
Version 1.2
ABI compatible: true
Motor speed: 5
Sample rate: 500
Starting scan ...
Angle 349375, Distance 67, Signal Strength: 191
Angle 352125, Distance 44, Signal Strength: 191
Angle 354687, Distance 40, Signal Strength: 191
Angle 357437, Distance 40, Signal Strength: 199