updates
This commit is contained in:
227
scenarios/iris-mblack-link-mirror-state-machine.json
Normal file
227
scenarios/iris-mblack-link-mirror-state-machine.json
Normal file
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"name": "iris-mblack-link-mirror-state-machine",
|
||||
"notes": [
|
||||
"IRIS/M.BLACK LINK closed-loop state-machine probe.",
|
||||
"The RCP reports local button intent as selector 0x0013. This scenario ACKs the report and mirrors the reported selector value back as a command-0 CCU table update.",
|
||||
"Expected cycle if the CCU owns the latched state: press 1 emits 00 00 13 40 00 09, mirror active, press 2 emits 00 00 13 00 00 49, mirror clear, press 3 emits active again.",
|
||||
"If every press still emits active, the local handler is not seeing the mirrored E800/F791 state or the physical input path is level-style rather than toggle-style."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"action": "prompt",
|
||||
"message": "Prepare to test the closed-loop IRIS/M.BLACK LINK state machine. Press Enter to power-cycle and start."
|
||||
},
|
||||
{
|
||||
"action": "power_cycle",
|
||||
"off_seconds": 1.5
|
||||
},
|
||||
{
|
||||
"action": "wait_ready",
|
||||
"heartbeats": 2,
|
||||
"timeout": 10.0,
|
||||
"require": true
|
||||
},
|
||||
{
|
||||
"action": "drain",
|
||||
"seconds": 0.20
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_connect_seed",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.20
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "cmd5_latch_clear_0096",
|
||||
"frame": "05 01 16 00 00 48",
|
||||
"listen": 0.02
|
||||
},
|
||||
{
|
||||
"action": "listen_ack_until_quiet",
|
||||
"seconds": 28.00,
|
||||
"quiet_seconds": 0.90,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"ack_guard": 0.005,
|
||||
"post_ack_read": 0.035,
|
||||
"poll_interval": 0.003,
|
||||
"once_per_frame": false,
|
||||
"limit_scope": "local",
|
||||
"max_acks": 180,
|
||||
"abort_on_limit": false
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "force_selector_0013_clear_baseline",
|
||||
"frame": "00 00 13 00 00 49",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "recover_connect_ok_seed_before_press_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.20
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "PRESS IRIS/M.BLACK LINK ONCE NOW. The script will mirror selector 0x0013 back to the RCP when it sees the report.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 9.00,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"ack_guard": 0.005,
|
||||
"post_ack_read": 0.035,
|
||||
"poll_interval": 0.003,
|
||||
"once_per_frame": false,
|
||||
"limit_scope": "local",
|
||||
"max_acks": 80,
|
||||
"abort_on_limit": false,
|
||||
"respond_on": [
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 40 00 09",
|
||||
"01 00 13 40 00 08",
|
||||
"02 00 13 40 00 0B"
|
||||
],
|
||||
"send": "00 00 13 40 00 09",
|
||||
"label": "mirror_selector_0013_active_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
},
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 00 00 49",
|
||||
"01 00 13 00 00 48",
|
||||
"02 00 13 00 00 4B"
|
||||
],
|
||||
"send": "00 00 13 00 00 49",
|
||||
"label": "mirror_selector_0013_clear_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "readback_selector_0013_after_press_1",
|
||||
"frame": "01 00 13 00 00 48",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "PRESS IRIS/M.BLACK LINK A SECOND TIME NOW. If the mirror completed the latch, this should report clear.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 9.00,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"ack_guard": 0.005,
|
||||
"post_ack_read": 0.035,
|
||||
"poll_interval": 0.003,
|
||||
"once_per_frame": false,
|
||||
"limit_scope": "local",
|
||||
"max_acks": 80,
|
||||
"abort_on_limit": false,
|
||||
"respond_on": [
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 40 00 09",
|
||||
"01 00 13 40 00 08",
|
||||
"02 00 13 40 00 0B"
|
||||
],
|
||||
"send": "00 00 13 40 00 09",
|
||||
"label": "mirror_selector_0013_active_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
},
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 00 00 49",
|
||||
"01 00 13 00 00 48",
|
||||
"02 00 13 00 00 4B"
|
||||
],
|
||||
"send": "00 00 13 00 00 49",
|
||||
"label": "mirror_selector_0013_clear_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "readback_selector_0013_after_press_2",
|
||||
"frame": "01 00 13 00 00 48",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "PRESS IRIS/M.BLACK LINK A THIRD TIME NOW to check that active returns after a mirrored clear.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 9.00,
|
||||
"target_mode": "queued_reports",
|
||||
"ack_mode": "cmd5_selector",
|
||||
"ack_guard": 0.005,
|
||||
"post_ack_read": 0.035,
|
||||
"poll_interval": 0.003,
|
||||
"once_per_frame": false,
|
||||
"limit_scope": "local",
|
||||
"max_acks": 80,
|
||||
"abort_on_limit": false,
|
||||
"respond_on": [
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 40 00 09",
|
||||
"01 00 13 40 00 08",
|
||||
"02 00 13 40 00 0B"
|
||||
],
|
||||
"send": "00 00 13 40 00 09",
|
||||
"label": "mirror_selector_0013_active_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
},
|
||||
{
|
||||
"frames": [
|
||||
"00 00 13 00 00 49",
|
||||
"01 00 13 00 00 48",
|
||||
"02 00 13 00 00 4B"
|
||||
],
|
||||
"send": "00 00 13 00 00 49",
|
||||
"label": "mirror_selector_0013_clear_from_button",
|
||||
"delay": 0.050,
|
||||
"listen": 0.20,
|
||||
"once": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "readback_selector_0013_after_press_3",
|
||||
"frame": "01 00 13 00 00 48",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "repeat_last_for_hidden_report_check",
|
||||
"frame": "07 00 00 00 00 5D",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 1.00
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user