Skip to content

Conversation

@maebli
Copy link
Owner

@maebli maebli commented Nov 25, 2025

Implementing wireless mbus feature #65

@maebli maebli force-pushed the feature/wmbus branch 6 times, most recently from 96f02a0 to 8e2db6c Compare December 9, 2025 19:22
Crate restructuring

Split wired M-Bus link layer into separate crate
Introduced m-bus-core crate for shared functionality
Refactored both wired and wireless implementations to use core library

Wireless M-Bus support

Added wireless frame parsing with incremental test coverage
Renamed frame types to distinguish wired vs wireless variants
Integrated wireless module into main library exports

Parsing improvements

Added manufacturer code extraction
Refactored "medium" to "device type" with complete type coverage
Proper function field parsing
CRC validation (removed frame types A/B as CRC pre-stripped)
Fixed CI field offset handling

Security & decryption

Renamed "signature" to "configuration_field"
Added security mode parsing
Implemented decryption with static key provider
Added Mode 5 decryption support
Validated against wmbusmeters test vectors

Cleanup & docs

Added "short TPL" header support
Improved README and documentation
Added CLI examples
Removed dead code and suppressed warnings

fixing clippy

refactoring location of decryption crate
Copy link
Collaborator

@SarthakSingh31 SarthakSingh31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left comments about some common issues.

Serde does have a no_std mode https://serde.rs/no-std.html but since the Cargo.toml does not disable std for serde, serde everywhere should imply std.

@maebli maebli force-pushed the feature/wmbus branch 4 times, most recently from 0c62d27 to f6dd808 Compare December 24, 2025 16:04
  Replace 56 todo!() panics with proper Unimplemented errors, consolidate
  duplicated code in m-bus-core, and document supported features in README.
@maebli maebli merged commit 9723d97 into main Dec 24, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants