pub struct LD06Pid<R: Read<u8>> { /* private fields */ }
Expand description
LD06 peripheral driver that includes PID control for the motor.
Implementations§
Source§impl<R: Read<u8>> LD06Pid<R>
impl<R: Read<u8>> LD06Pid<R>
Sourcepub fn read_next_byte(
&mut self,
) -> Result<Option<(PartialScan, u16)>, ParseError<R::Error>>
pub fn read_next_byte( &mut self, ) -> Result<Option<(PartialScan, u16)>, 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 variant will also output the next PID output, in degrees per second the LiDAR should run at.
This functions blocking behavior will be determined by the underlying serial read function.
Sourcepub fn get_max_lidar_speed(&self) -> u16
pub fn get_max_lidar_speed(&self) -> u16
Returns the max lidar speed, in degrees per second. This can be used to find the duty % to send to the LiDAR motor given a PID control speed.
Auto Trait Implementations§
impl<R> Freeze for LD06Pid<R>where
R: Freeze,
impl<R> RefUnwindSafe for LD06Pid<R>where
R: RefUnwindSafe,
impl<R> Send for LD06Pid<R>where
R: Send,
impl<R> Sync for LD06Pid<R>where
R: Sync,
impl<R> Unpin for LD06Pid<R>where
R: Unpin,
impl<R> UnwindSafe for LD06Pid<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