Skip to main content

rusty_modbus_codec/
lib.rs

1//! Sans-IO Modbus PDU codec — zero-copy decode and encode for all public function codes.
2//!
3//! `no_std` by default, no allocator required. Operates purely on `&[u8]` (decode)
4//! and `&mut [u8]` (encode), composable with any transport.
5
6#![no_std]
7#![forbid(unsafe_code)]
8#![warn(missing_docs, clippy::all, clippy::pedantic)]
9
10#[cfg(feature = "std")]
11extern crate std;
12
13#[cfg(test)]
14extern crate alloc;
15
16pub mod decode;
17pub mod error;
18pub mod pdu;
19pub mod request;
20pub mod response;
21pub mod validate;
22
23pub use decode::{decode_pdu_ref, decode_request, decode_response};
24pub use error::{DecodeError, EncodeError};
25pub use pdu::{PduRef, RequestPdu, ResponsePdu};
26pub use request::Encode;