Closes the small remaining hole in Alarm Management. S5F7 is header-only; S5F8 has the same wire shape as S5F6 (vector of <L,3 <B ALCD> <U4 ALID> <A ALTX>>) but only includes alarms whose enabled flag is set. Codegen handles both as a list_of with struct_name=AlarmListing; server pre-computes the per-row ALCD from (severity_category, active state) before passing the rows in. COMPLIANCE.md: Alarm Management Additional capability flips ✅. Tests: 78 cases / 454 assertions. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -503,6 +503,30 @@ messages:
|
||||
|
||||
# S5F6 is hand-written (per-row ALCD requires an active-callback API).
|
||||
|
||||
# S5F7 / S5F8 — List Enabled Alarms. Same wire shape as S5F6 but only
|
||||
# alarms with bit-7 of their stored "enabled" flag are returned.
|
||||
- id: S5F7
|
||||
stream: 5
|
||||
function: 7
|
||||
w: true
|
||||
builder: s5f7_list_enabled_alarms_request
|
||||
|
||||
- id: S5F8
|
||||
stream: 5
|
||||
function: 8
|
||||
builder: s5f8_list_enabled_alarms_data
|
||||
parser: parse_s5f8
|
||||
body:
|
||||
kind: list_of
|
||||
name: items
|
||||
element:
|
||||
kind: list
|
||||
struct_name: AlarmListing
|
||||
fields:
|
||||
- {name: alcd, shape: {kind: scalar, item_type: BINARY_BYTE}}
|
||||
- {name: alid, shape: {kind: scalar, item_type: U4}}
|
||||
- {name: altx, shape: {kind: scalar, item_type: ASCII}}
|
||||
|
||||
# =====================================================================
|
||||
# S6 — Data collection
|
||||
# =====================================================================
|
||||
|
||||
Reference in New Issue
Block a user