Serial

Struct Serial 

Source
pub struct Serial(/* private fields */);
Expand description

Represents the generic serial interface of a smart port.

Implementations§

Source§

impl Serial

Source

pub unsafe fn new(port: u8, baudrate: i32) -> Result<Self, Error>

Constructs a new generic serial port.

§Safety

This function is unsafe because it allows the user to create multiple mutable references to the same smart port interface. You likely want to implement Robot::new() instead.

Source

pub fn set_baudrate(&mut self, baudrate: i32) -> Result<(), Error>

Changes the baudrate of the serial port.

Source

pub fn get_read_avail(&self) -> Result<usize, Error>

Gets the number of bytes available to read in the input buffer of the serial port.

Source

pub fn get_write_free(&self) -> Result<usize, Error>

Gets the number of bytes free in the output buffer of the serial port.

Source

pub fn peek_byte(&self) -> Result<u8, Error>

Reads the next available byte in the input buffer of the serial port without removing it.

Source

pub fn read_byte(&mut self) -> Result<u8, Error>

Reads the next available byte in the input buffer of the serial port.

Source

pub fn write_byte(&mut self, byte: u8) -> Result<(), Error>

Writes the given byte to the output buffer of the serial port.

Source

pub fn read(&mut self, buffer: &mut [u8]) -> Result<usize, Error>

Reads as many bytes as possible from the input buffer of the serial port into the given buffer, returning the number read.

Source

pub fn write(&mut self, buffer: &[u8]) -> Result<usize, Error>

Writes as many bytes as possible to the output buffer of the serial port from the given buffer, returning the number written.

Source

pub fn flush(&mut self) -> Result<(), Error>

Clears the internal input and output buffers of the serial port, effectively resetting its state.

Trait Implementations§

Source§

impl TryFrom<(SmartPort, i32)> for Serial

Source§

type Error = Error

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

fn try_from((port, baudrate): (SmartPort, i32)) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl Freeze for Serial

§

impl RefUnwindSafe for Serial

§

impl Send for Serial

§

impl Sync for Serial

§

impl Unpin for Serial

§

impl UnwindSafe for Serial

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.