{ "name": "button-report-broad-gates-press", "notes": [ "One-button candidate test with broad secondary E400 gates enabled for ROM-observed report selectors.", "Run this only after the common-gate press test fails to produce a clear extra selector.", "If a button only emits here, it probably needs a selector-specific feature/report gate rather than only the common queue-service gate." ], "steps": [ { "action": "prompt", "message": "Broad-gate run: pick one physical button. When the NOTE banner appears, press it once. Press Enter to start." }, { "action": "power_cycle", "off_seconds": 1.5 }, { "action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true }, { "action": "drain", "seconds": 0.25 }, { "action": "send", "label": "selector_zero_connect_seed", "frame": "00 00 00 80 00 DA", "listen": 0.40 }, { "action": "send", "label": "secondary_gate_0007", "frame": "06 00 07 FF FF 5B", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0013", "frame": "06 00 13 FF FF 4F", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0015", "frame": "06 00 15 FF FF 49", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0017", "frame": "06 00 17 FF FF 4B", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0018", "frame": "06 00 18 FF FF 44", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_001a", "frame": "06 00 1A FF FF 46", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_006b", "frame": "06 01 6B FF FF 36", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0083", "frame": "06 01 03 FF FF 5E", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_008f", "frame": "06 01 0F FF FF 52", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0093", "frame": "06 01 13 FF FF 4E", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0096", "frame": "06 01 16 FF FF 4B", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_0097", "frame": "06 01 17 FF FF 4A", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_009a", "frame": "06 01 1A FF FF 47", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_00b7", "frame": "06 01 37 FF FF 6A", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_00b9", "frame": "06 01 39 FF FF 64", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_00c4", "frame": "06 02 44 FF FF 1A", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_00c6", "frame": "06 02 46 FF FF 18", "listen": 0.04 }, { "action": "send", "label": "secondary_gate_00f8", "frame": "06 02 78 FF FF 26", "listen": 0.04 }, { "action": "send", "label": "cmd5_latch_clear_0096", "frame": "05 01 16 00 00 48", "listen": 0.05 }, { "action": "listen_ack", "seconds": 3.20, "target_mode": "queued_reports", "ack_mode": "cmd5_selector", "ack_guard": 0.010, "post_ack_read": 0.070, "poll_interval": 0.004, "once_per_frame": false, "limit_scope": "local", "max_acks": 48, "abort_on_limit": false }, { "action": "send", "label": "recover_connect_ok_seed", "frame": "00 00 00 80 00 DA", "listen": 0.45 }, { "action": "listen_ack", "seconds": 1.20, "target_mode": "queued_reports", "ack_mode": "cmd5_selector", "ack_guard": 0.010, "post_ack_read": 0.070, "poll_interval": 0.004, "once_per_frame": false, "limit_scope": "local", "max_acks": 32, "abort_on_limit": false }, { "action": "note", "message": "PRESS THE ONE TEST BUTTON NOW; broad secondary gates are enabled.", "banner": true }, { "action": "listen_ack", "seconds": 16.00, "target_mode": "queued_reports", "ack_mode": "cmd5_selector", "ack_guard": 0.010, "post_ack_read": 0.070, "poll_interval": 0.004, "once_per_frame": false, "limit_scope": "local", "max_acks": 96, "abort_on_limit": false }, { "action": "send", "label": "repeat_last_for_hidden_report_check", "frame": "07 00 00 00 00 5D", "listen": 0.80 }, { "action": "listen", "seconds": 1.50 } ] }