| Crates.io | ydlidar-rust-driver |
| lib.rs | ydlidar-rust-driver |
| version | 0.1.3 |
| created_at | 2025-08-01 02:25:00.305604+00 |
| updated_at | 2025-08-31 08:53:02.590091+00 |
| description | ydlidar rust package |
| homepage | https://github.com/garfield0xff |
| repository | https://github.com/garfield0xff/ydlidar_rust_driver |
| max_upload_size | |
| id | 1776024 |
| size | 54,976 |
High-performance Rust driver for YDLidar sensors with support for multiple models.
use ydlidar_rust_driver::{Lidar, TMiniPlus, LidarError};
fn main() -> Result<(), LidarError> {
// Auto-detect USB port
let mut lidar = Lidar::<TMiniPlus>::new()?;
// Start scanning
lidar.start_scan()?;
loop {
let points = lidar.get_scan_points()?;
for point in points {
println!("{}°: {}mm (Q:{})", point.angle, point.distance, point.quality);
}
}
}
use ydlidar_rust_driver::{Lidar, TMiniPlus, LidarError};
fn main() -> Result<(), LidarError> {
let mut lidar = Lidar::<TMiniPlus>::new()?;
lidar.start_scan()?;
loop {
let points = lidar.get_scan_points()?;
for point in points.iter().filter(|p| p.quality >= 40) {
let (x, y) = point.to_cartesian();
println!("Point: ({:.1}, {:.1}) mm", x, y);
}
}
}
This repository includes several example applications:
Real-time ASCII visualization of LiDAR data in your terminal:
cargo run --bin monitor_pcl
Device configuration and parameter:
cargo run --bin config
use ydlidar_rust_driver::{Lidar, TMiniPlus};
let mut lidar = Lidar::<TMiniPlus, UART>::new(uart);
lidar.start_scan()?;
loop {
lidar.read_scan_data()?;
let points = lidar.get_scan_points()?;
// Process points...
}