Expand description
Smart Message Language (SML) parser written in Rust.
Modern German power meters periodically send SML-encoded data via an optical interface. The main use-case of this library is to decode that data.
See the transport module for encoding / decoding the SML transport protocol v1 and the
parser module for parsing decoded data into SML data structures.
Complete examples of how to use the library can be found on github in the examples folder.
§Feature flags
std(default) — Remove this feature to make the libraryno_stdcompatible.alloc(default) — Implementations using allocations (alloc::Vecet al.).embedded_hal— Allows using pins implementingembedded_hal::serial::ReadinSmlReader.nb- Enables non-blocking APIs using thenbcrate.
Modules§
Structs§
- SmlReader
- Main API of
sml-rs - SmlReader
Builder - Builder struct for
SmlReaderthat allows configuring the internal buffer type.
Enums§
- Read
Parsed Error - Error returned by functions parsing sml data read from a reader
Traits§
- SmlParse
- Helper trait implemented for types that can be built from decoded bytes.
Type Aliases§
- Decoded
Bytes - Type alias for decoded bytes.