]> git.giacomolli.uk - onehouse/commit
Apply M31 commands through the shared ledger
authorAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:11:05 +0000 (20:11 -0300)
committerAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:11:05 +0000 (20:11 -0300)
commited48ff78adf6b195fc729e6c58772edc3a09def2
tree4a3fc2b5e56b71f4034ac84522095a16afb464f3
parent2392f423feb689c99600e5cb2c37ee93c62e603d
Apply M31 commands through the shared ledger

The assembly consumes its router queue and validates physical targets
before single or grouped output writes. Contiguous steady coils share
one write and a complete readback. Transport failures fail the batch,
while feedback mismatches fail only the affected members. Pulses avoid
transient feedback, and analog commands enforce exact voltage bounds.

The shared ledger stores outcomes before any feedback or result send.
Duplicate deliveries replay those outcomes without another physical
action, including after a publication failure or device reconnect.

Issue: 8fdc39a
doc/m31.rst
driver/m31/command_handler.go [new file with mode: 0644]
driver/m31/command_handler_test.go [new file with mode: 0644]
driver/m31/connection_test.go
driver/m31/driver.go
driver/m31/driver_test.go
driver/m31/fake_helper_test.go
driver/m31/output_request.go [new file with mode: 0644]
driver/m31/output_request_test.go [new file with mode: 0644]