docs: refresh stale file paths after store/ reorg + gen_messages rename
generate_messages.py → gen_messages.py and several gem/ headers moved under gem/store/ (carrier_store.hpp → store/carriers.hpp, etc.); e84.hpp split into e84_state.hpp. The guided-tour chapters still pointed at the old paths — relink them so the deep-link footnotes resolve. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -111,8 +111,8 @@ Any of these timing out → both sides go to `HandoffFault` and the
|
||||
operator gets paged. No FOUP gets dropped because the protocol
|
||||
guarantees both sides agreed on every step.
|
||||
|
||||
**Where:** [`include/secsgem/gem/e84.hpp`](../include/secsgem/gem/e84.hpp)
|
||||
defines the FSM; [`include/secsgem/gem/e84_timers.hpp`](../include/secsgem/gem/e84_timers.hpp)
|
||||
**Where:** [`include/secsgem/gem/e84_state.hpp`](../include/secsgem/gem/e84_state.hpp)
|
||||
defines the FSM; [`include/secsgem/gem/e84_asio_timers.hpp`](../include/secsgem/gem/e84_asio_timers.hpp)
|
||||
defines the timer enforcement; chapter [18](18_e84_parallel_io.md)
|
||||
walks the whole handshake.
|
||||
|
||||
@@ -164,7 +164,7 @@ Note the pattern: every primary message ends in an odd function
|
||||
This is invariant across SECS-II. See chapter [10](10_e5_secs_ii_data_items.md)
|
||||
for the encoding details.
|
||||
|
||||
**Where:** `gem::CarrierStore` in [`include/secsgem/gem/carrier_store.hpp`](../include/secsgem/gem/carrier_store.hpp);
|
||||
**Where:** `gem::CarrierStore` in [`include/secsgem/gem/store/carriers.hpp`](../include/secsgem/gem/store/carriers.hpp);
|
||||
the E87 wire tests in [`tests/test_e87_wire_scenarios.cpp`](../tests/test_e87_wire_scenarios.cpp).
|
||||
|
||||
---
|
||||
@@ -234,8 +234,8 @@ New acronyms:
|
||||
|
||||
E40 governs process jobs; E94 governs control jobs above them.
|
||||
|
||||
**Where:** [`include/secsgem/gem/process_jobs.hpp`](../include/secsgem/gem/process_jobs.hpp),
|
||||
[`include/secsgem/gem/control_jobs.hpp`](../include/secsgem/gem/control_jobs.hpp).
|
||||
**Where:** [`include/secsgem/gem/store/process_jobs.hpp`](../include/secsgem/gem/store/process_jobs.hpp),
|
||||
[`include/secsgem/gem/store/control_jobs.hpp`](../include/secsgem/gem/store/control_jobs.hpp).
|
||||
The state machines are loaded from
|
||||
[`data/process_job_state.yaml`](../data/process_job_state.yaml) and
|
||||
[`data/control_job_state.yaml`](../data/control_job_state.yaml).
|
||||
@@ -295,8 +295,8 @@ same value, but each one has its own enumeration of failure codes
|
||||
(`3 = at least one CEID does not exist`, etc.). Don't reuse one
|
||||
stream's enum for another's.
|
||||
|
||||
**Where:** [`include/secsgem/gem/report_store.hpp`](../include/secsgem/gem/report_store.hpp),
|
||||
[`include/secsgem/gem/event_store.hpp`](../include/secsgem/gem/event_store.hpp).
|
||||
**Where:** [`include/secsgem/gem/store/event_reports.hpp`](../include/secsgem/gem/store/event_reports.hpp)
|
||||
(reports + collection events live together — the same store backs S2F33/F35/F37).
|
||||
The configuration flow is the heart of E30 §6.6 Dynamic Event Report
|
||||
Configuration; see chapter [13](13_e30_gem.md).
|
||||
|
||||
@@ -346,8 +346,8 @@ The `S6F11(CEID=300)` that fires next is the event report
|
||||
(If CEID 300 had been left *disabled*, the processing logic
|
||||
would still fire it but the wire would stay quiet.)
|
||||
|
||||
**Where:** [`include/secsgem/gem/host_command_registry.hpp`](../include/secsgem/gem/host_command_registry.hpp)
|
||||
maps `RCMD` strings to handlers; the report-emission machinery lives
|
||||
**Where:** [`include/secsgem/gem/store/host_commands.hpp`](../include/secsgem/gem/store/host_commands.hpp)
|
||||
(`HostCommandRegistry`) maps `RCMD` strings to handlers; the report-emission machinery lives
|
||||
in `EquipmentDataModel` ([`include/secsgem/gem/data_model.hpp`](../include/secsgem/gem/data_model.hpp))
|
||||
via `compose_reports_for(ceid)`. Wire-level tests:
|
||||
[`tests/test_wire_ceid_emission.cpp`](../tests/test_wire_ceid_emission.cpp).
|
||||
@@ -391,9 +391,9 @@ When the pressure returns to range, a second `S5F1` fires with
|
||||
`ALCD=0x04` (bit 7 cleared) and the same ALID, signalling "alarm
|
||||
cleared."
|
||||
|
||||
**Where:** [`include/secsgem/gem/alarm_store.hpp`](../include/secsgem/gem/alarm_store.hpp);
|
||||
the dispatcher gates emission on the enable list in
|
||||
[`include/secsgem/gem/alarm_dispatcher.hpp`](../include/secsgem/gem/alarm_dispatcher.hpp).
|
||||
**Where:** [`include/secsgem/gem/store/alarms.hpp`](../include/secsgem/gem/store/alarms.hpp)
|
||||
defines `AlarmRegistry`, which both stores the definitions and gates
|
||||
S5F1 emission on the enable list.
|
||||
|
||||
---
|
||||
|
||||
@@ -564,7 +564,7 @@ The streams you'll meet most often, with one sentence each:
|
||||
Where every named message lives in code: [`build/generated/secsgem/gem/messages.hpp`](../build/generated/secsgem/gem/messages.hpp)
|
||||
(after a build) — generated from
|
||||
[`data/messages.yaml`](../data/messages.yaml) by
|
||||
[`tools/generate_messages.py`](../tools/generate_messages.py).
|
||||
[`tools/gen_messages.py`](../tools/gen_messages.py).
|
||||
Chapter [31](31_spec_as_data_and_codegen.md) walks the codegen.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user