100%/A: S5F7/F8 list enabled alarms
tests / build-and-test (push) Failing after 32s

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:
2026-06-07 01:52:11 +02:00
parent 813e011409
commit 88205037ec
4 changed files with 59 additions and 2 deletions
+24
View File
@@ -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
# =====================================================================