#lidar #embedded-hal-driver #peripheral #scan #pid #control #ld06

no-std ld06-embed

LD06 LiDAR的嵌入式外围设备驱动程序

1 个不稳定版本

0.1.0 2022年12月21日

#1370 in 嵌入式开发

MIT许可证

1MB
196 代码行

LD06-embed

该crate是一个嵌入式_hal外围设备驱动程序,用于LD06/LD09驱动程序,这些驱动程序以各种品牌出售。

设置

要使用此crate,只需通过您选择的接口连接到LD06 UART,然后将该接口传递到本crate中找到的LD06结构体。请注意,由于LiDAR有一个PWM引脚,因此它似乎需要一个PWM信号来控制电机,但根据我的经验,情况并非如此。不过,我已经提供了一个包装结构体,它还提供了对该信号的PID控制,以防您的用例需要。

示例

(在这里查看在Linux上的可运行示例)

let mut ld06 = LD06::new(serial);

loop {
    match ld06.read_next_byte() {
        Ok(None) => {}
        Err(err) => match err {
            Error::Other(parse_err) => match parse_err {
                ParseError::SerialErr(_) => {
                    println!("Serial issue")
                }
                ParseError::CrcFail => {
                    println!("CRC failed")
                }
            },
            Error::WouldBlock => {
                println!("Would block")
            }
        },
        Ok(Some(scan)) => {
            println!("scan: {:?}", scan);
        }
    }
}

依赖项