Three more chapters of Part 2:
11 — E37 HSMS. 4-byte length prefix + 10-byte header (R-bit + session
id + W-bit + stream + function + PType + SType + system_bytes), the
9 SType control messages, the NOT-SELECTED → SELECTED state machine,
T3/T5/T6/T7/T8 with what each one bounds, the auto-S9 paths
(S9F1/F3/F5/F7/F9/F11), HSMS-SS vs HSMS-GS, the asio
single-threaded contract.
12 — E4 SECS-I. Half-duplex line turnaround (ENQ/EOT/ACK/NAK), the
10-byte block header bit-packing (R-bit / W-bit / E-bit / system
bytes), the 244-byte block cap and multi-block split/assemble, the
event-driven IO-free FSM with its Action / Event variants, T1/T2/T3/T4
with semantics + defaults, master/slave contention. Notes the
deferred asio serial_port adapter; explains why this chapter
matters even for HSMS-only readers.
13 — E30 GEM. Disambiguates the three state machines (HSMS transport
vs GEM communication vs GEM control), walks the comm-state FSM
(DISABLED → WAIT-CRA → COMMUNICATING with T_CRA / T_DELAY) and the
control-state FSM (5 states + the YAML transition table). Lists
every Fundamental and Additional capability with its messages, code
locations, and store assignments. One worked Event-Notification
scenario tracing seven on-wire steps to their EquipmentDataModel
internals.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>