pub struct LD06<R: Read<u8>> { /* private fields */ }
Expand description
An LD06 Peripheral.
This driver will not control the PWM of the LiDAR, if you are not using the included speed control board please use [into_pid] to add motor speed control. Due to a lack of a proper embedded_hal PWM interface, you will need to apply the PID value to the PWM line yourself.
Implementations§
Source§impl<R: Read<u8>> LD06<R>
impl<R: Read<u8>> LD06<R>
Sourcepub fn new(reader: R) -> Self
pub fn new(reader: R) -> Self
Creates a new interface to an LD06. The serial port must be configured as follows:
- baud 230400
- 8 Data bits
- 1 Stop bit
- No Parity
- No Flow Control
Sourcepub fn read_next_byte(
&mut self,
) -> Result<Option<PartialScan>, ParseError<R::Error>>
pub fn read_next_byte( &mut self, ) -> Result<Option<PartialScan>, ParseError<R::Error>>
Reads the next byte from the serial buffer, appending it to the wip scan. If a scan was completed, it will be returned. If an error occurs, the current packet will be corrupted, but the system will recover on the start of the next packet.
This functions blocking behavior will be determined by the underlying serial read function.
Auto Trait Implementations§
impl<R> Freeze for LD06<R>where
R: Freeze,
impl<R> RefUnwindSafe for LD06<R>where
R: RefUnwindSafe,
impl<R> Send for LD06<R>where
R: Send,
impl<R> Sync for LD06<R>where
R: Sync,
impl<R> Unpin for LD06<R>where
R: Unpin,
impl<R> UnwindSafe for LD06<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more