Skip to main content

Crate rustmod_core

Crate rustmod_core 

Source
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 Reader and Writer used 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).