pub struct ReadWriteMultipleRegistersRequest<'buf> {
pub read_address: Address,
pub read_quantity: Quantity,
pub write_address: Address,
pub write_quantity: Quantity,
pub write_byte_count: u8,
pub write_register_values: &'buf [u8],
}Expand description
FC 0x17 — Read/Write Multiple Registers request.
Atomically reads read_quantity registers starting at read_address and writes
write_quantity registers starting at write_address.
Fields§
§read_address: AddressStarting address for reading (0-indexed).
read_quantity: QuantityNumber of registers to read (1..=125).
write_address: AddressStarting address for writing (0-indexed).
write_quantity: QuantityNumber of registers to write (1..=121).
write_byte_count: u8Number of bytes in the write data (should be write_quantity * 2).
write_register_values: &'buf [u8]Register values to write in big-endian byte order.
Implementations§
Source§impl<'buf> ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> ReadWriteMultipleRegistersRequest<'buf>
Sourcepub fn decode(data: &'buf [u8]) -> Result<Self, DecodeError>
pub fn decode(data: &'buf [u8]) -> Result<Self, DecodeError>
Decode from PDU data after the function code byte.
§Errors
Returns DecodeError::Truncated if data is too short.
Returns DecodeError::QuantityOutOfRange if either quantity is out of range.
Returns DecodeError::ByteCountMismatch if the declared byte count does not
match the remaining data length.
Trait Implementations§
Source§impl<'buf> Clone for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> Clone for ReadWriteMultipleRegistersRequest<'buf>
Source§fn clone(&self) -> ReadWriteMultipleRegistersRequest<'buf>
fn clone(&self) -> ReadWriteMultipleRegistersRequest<'buf>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'buf> Copy for ReadWriteMultipleRegistersRequest<'buf>
Source§impl<'buf> Debug for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> Debug for ReadWriteMultipleRegistersRequest<'buf>
Source§impl Encode for ReadWriteMultipleRegistersRequest<'_>
impl Encode for ReadWriteMultipleRegistersRequest<'_>
Source§fn encode_into(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode_into(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Write the full PDU (function code + data) into
buf. Read moreSource§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Total encoded length in bytes (including the function code byte).
impl<'buf> Eq for ReadWriteMultipleRegistersRequest<'buf>
Source§impl<'buf> PartialEq for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> PartialEq for ReadWriteMultipleRegistersRequest<'buf>
Source§fn eq(&self, other: &ReadWriteMultipleRegistersRequest<'buf>) -> bool
fn eq(&self, other: &ReadWriteMultipleRegistersRequest<'buf>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<'buf> StructuralPartialEq for ReadWriteMultipleRegistersRequest<'buf>
Auto Trait Implementations§
impl<'buf> Freeze for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> RefUnwindSafe for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> Send for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> Sync for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> Unpin for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> UnsafeUnpin for ReadWriteMultipleRegistersRequest<'buf>
impl<'buf> UnwindSafe for ReadWriteMultipleRegistersRequest<'buf>
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