Expand description
Modbus protocol encoding and framing in pure Rust.
rustmod-core provides zero-copy, no_std-compatible encoding and decoding
of Modbus PDUs and TCP/RTU frames.
§Supported Function Codes
- FC01 Read Coils
- FC02 Read Discrete Inputs
- FC03 Read Holding Registers
- FC04 Read Input Registers
- FC05 Write Single Coil
- FC06 Write Single Register
- FC07 Read Exception Status
- FC08 Diagnostics
- FC15 Write Multiple Coils
- FC16 Write Multiple Registers
- FC22 Mask Write Register
- FC23 Read/Write Multiple Registers
- FC24 Read FIFO Queue
- Custom function codes via
FunctionCode::Custom
§Design
All encoding uses caller-owned &mut [u8] buffers via encoding::Writer,
and all decoding uses zero-copy encoding::Reader over &[u8] slices.
No heap allocation is required (the alloc feature adds owned request types
for convenience).
Re-exports§
pub use error::DecodeError;pub use error::EncodeError;
Modules§
- encoding
- Zero-copy byte-level
ReaderandWriterused by the PDU codec. - error
- frame
- Transport-layer framing for Modbus TCP (MBAP) and RTU (CRC-16).
- pdu
Structs§
- UnitId
- A Modbus unit identifier (station address).