Skip to content

v1.0.0

Latest

Choose a tag to compare

@kristoflemmens kristoflemmens released this 03 Jun 17:22
5bcbfec

What's new

New features

  • RegisterDef typed register metadata — all Modbus register constants now carry address, width, and description; offset_of() and cp_register() exported from the public API
  • ErrorCode IntFlag enum — 32-bit error bitmask decoded into named flag members
  • VehicleStatus StrEnum — IEC 61851-1 vehicle status decoded to typed enum values; is_connected, is_charging, has_error, is_unavailable derived properties use enum members
  • DigitalOutputMode enum + pack_digital_outputs() — helper for building the packed digital output register value
  • New write methods: set_locking(), set_group_availability(), set_digital_outputs(), restart_server(), restart_all()
  • Exposed registers: force_unlock_pending, proximity_cfg, overcurrent_monitoring, subnet_eth0/1, gateway_eth0/1

Refactors

  • Pure decoder functions (_decode_device_info, _decode_cp_config, _decode_cp_status_and_control) extracted from async read methods — testable without Modbus connection
  • Generic _decode_enum() helper replaces per-field boilerplate
  • Control-register write calls use RegisterDef constants instead of magic integer literals

Fixes

  • Log WARNING for all unrecognised enum register values (#16)
  • Five bugs from manual cross-check (#10#12, #14, #23)

What's Changed

Full Changelog: v0.1.3...v1.0.0