Struct Serial

Source
pub struct Serial { /* private fields */ }
Expand description

Represents an IoTransport layer based on a serial connection.

Uses serialport crate.

Implementations§

Source§

impl Serial

Source

pub fn new<P: Into<String>>(port: P) -> Self

Constructs a new Serial transport layer instance for communication through the specified port.

§Example
use hermes_five::hardware::Board;
use hermes_five::io::RemoteIo;

#[hermes_five::runtime]
async fn main() {
    let protocol = RemoteIo::new("/dev/ttyACM0");
    let board = Board::new(protocol).open();
}
Source

pub fn get_port(&self) -> String

Returns the configured port.

Trait Implementations§

Source§

impl Clone for Serial

Source§

fn clone(&self) -> Serial

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Serial

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Serial

Source§

fn default() -> Self

Creates a new serial transport connection with the first available port or an empty string if no ports are available.

§Notes

The first available port will be used, None otherwise, which will probably lead to an error during the open phase.

Source§

impl Display for Serial

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl IoTransport for Serial

Source§

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

Opens communication (in a blocking way) using the transport layer. Read more
Source§

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

Gracefully shuts down the transport layer.
Source§

fn set_timeout(&mut self, duration: Duration) -> Result<(), Error>

Sets a timeout for the transport layer Read more
Source§

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

Write bytes to the internal connection. For more details see std::io::Write::write. Read more
Source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Reads from the internal connection. For more details see std::io::Read::read_exact. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.