Struct LD06Pid

Source
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>

Source

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.

Source

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.