AsyncMaster

Struct AsyncMaster 

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

Async Modbus RTU master that honors Modbus idle timing rules between frames.

Implementations§

Source§

impl AsyncMaster

Source

pub fn new_rs485(path: &str, baud_rate: u32) -> Result<Self>

Builds a master configured for an RS-485 style setup (8N1, async I/O).

The port timeout is pinned to the Modbus RTU silent interval (T3.5) for the supplied baud rate so that the reader can detect frame boundaries.

Source

pub fn baud_rate(&self) -> u32

Returns the baud rate currently configured on the serial link.

Source

pub fn set_baudrate(&mut self, baud_rate: u32) -> Result<()>

Updates the serial baud rate and matching Modbus idle timeout.

Source

pub async fn send(&mut self, req: &Request<'_>) -> Result<Response, Error>

Sends a Modbus RTU request and waits for the corresponding response.

Broadcast requests return immediately after the frame is flushed because the Modbus RTU spec forbids responses to slave id 0.

Trait Implementations§

Source§

impl Debug for AsyncMaster

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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.