0.1.0 - 2026-10-31
Features
- Numeric Function-Code Driven: API driven directly by numeric function codes (
1..127), without hardcoding fixed operation atoms. - Universal Frame Model: Unified
{slave, {fc, direction, width}, address, argument}frame tuple across all roles. - Modbus TCP:
Modbuv.Tcp.Client: Supports both passive (synchronous) and active (asynchronous event streaming) modes, stream MBAP deframing, unit ID validation, and stale response isolation.Modbuv.Tcp.Server: Connection-per-handler architecture usingDynamicSupervisor, in-memory shared data model, clean port collision stop, and active owner notifications.
- Modbus RTU:
Modbuv.Rtu.Master: In-flight serialization with:busyprotection, automatic response length derivation, and fault-tolerant UART I/O.Modbuv.Rtu.Slave: Integrated withCircuits.UART.Framing, dynamic frame length derivation viafc_map, automatic sliding-window byte resync, and saferx_framing_timeoutmerging.
- Custom Function Codes (
FcMap): Extensible registry supporting vendor function codes with customizable direction, width, address region, and single/multi write layout. - In-Memory Model & Shared Agent: Atomic multi-address writes, pure
Modbuv.Modeloperations, and thread-safeModbuv.Model.SharedAgent. - Helpers:
Modbuv.CRC: Fast, table-driven CRC16 calculation.Modbuv.IEEE754: 32-bit and 64-bit float conversions with big-endian (:be) and little-endian (:le) word order support.- Comprehensive exception mapping covering standard codes (1..11) and vendor/zero codes.