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
|
||||
}
|
||||
]
|
||||
}
|
||||
114
scenarios/iris-mblack-link-report-after-quiet-press.json
Normal file
114
scenarios/iris-mblack-link-report-after-quiet-press.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"name": "iris-mblack-link-report-after-quiet-press",
|
||||
"notes": [
|
||||
"Second-pass IRIS/M.BLACK LINK button report test.",
|
||||
"This drains the startup/current-state report queue until it goes quiet before asking for a physical press, so a fresh selector-0013 report is easier to separate from boot backlog.",
|
||||
"Expected fresh report shapes are 00/01/02 00 13 40 00 for active, or 00/01/02 00 13 00 00 for clear. Page-1 selector 01 13 is not this button; it is selector 0x0093."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"action": "prompt",
|
||||
"message": "Prepare to test IRIS/M.BLACK LINK after the report queue drains. 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": "recover_connect_ok_seed_before_press",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.20
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "QUEUE IS QUIET. PRESS IRIS/M.BLACK LINK ONCE NOW; fresh-report ACK window is running.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack_until_quiet",
|
||||
"seconds": 14.00,
|
||||
"quiet_seconds": 1.20,
|
||||
"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": 64,
|
||||
"abort_on_limit": false
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "recover_connect_ok_seed_before_second_press",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.20
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "PRESS IRIS/M.BLACK LINK A SECOND TIME NOW to test the opposite toggle state.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack_until_quiet",
|
||||
"seconds": 14.00,
|
||||
"quiet_seconds": 1.20,
|
||||
"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": 64,
|
||||
"abort_on_limit": false
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "repeat_last_for_hidden_report_check",
|
||||
"frame": "07 00 00 00 00 5D",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 1.00
|
||||
}
|
||||
]
|
||||
}
|
||||
125
scenarios/iris-mblack-link-report-press.json
Normal file
125
scenarios/iris-mblack-link-report-press.json
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"name": "iris-mblack-link-report-press",
|
||||
"notes": [
|
||||
"Focused queued-report test for the IRIS/M.BLACK LINK physical button.",
|
||||
"The ROM path at H'200E toggles E800[0x0013].14 when F006.7/F6DB.7 is active and F731 <= 3, then calls loc_3E54 with R2=0x80 R3=0x0013.",
|
||||
"This scenario services the local report queue by ACKing checksum-valid 00/01/02 report frames with command 5 for the observed selector.",
|
||||
"Expected selector-0013 report shapes include 00 00 13 40 00 09 for active, 00 00 13 00 00 49 for clear, and bit15 variants 00 00 13 80 00 C9 / 00 00 13 C0 00 89. Queued 01/02 variants are also valid evidence."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"action": "prompt",
|
||||
"message": "Prepare to test the IRIS/M.BLACK LINK button. Press Enter to power-cycle and start the live ACK windows."
|
||||
},
|
||||
{
|
||||
"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.60
|
||||
},
|
||||
{
|
||||
"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 IRIS/M.BLACK LINK ONCE NOW; live queued-report ACK window is running.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 10.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": "refresh_connect_ok_seed_before_second_press",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.35
|
||||
},
|
||||
{
|
||||
"action": "note",
|
||||
"message": "PRESS IRIS/M.BLACK LINK A SECOND TIME NOW to test the toggle-clear report.",
|
||||
"banner": true
|
||||
},
|
||||
{
|
||||
"action": "listen_ack",
|
||||
"seconds": 10.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
|
||||
}
|
||||
]
|
||||
}
|
||||
74
scenarios/panel-atlas-big-hits-isolation-v1.json
Normal file
74
scenarios/panel-atlas-big-hits-isolation-v1.json
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "panel-atlas-big-hits-isolation-v1",
|
||||
"notes": [
|
||||
"Fresh-boot isolation pass for user-reviewed hits from panel-atlas-big-visual-sweep-0001-017f-highbits.",
|
||||
"Each case power-cycles, seeds CONNECT OK, captures a baseline image, sends the candidate, then captures a clear/low write.",
|
||||
"Expected observations are from the first broad image review and must be confirmed here."
|
||||
],
|
||||
"steps": [
|
||||
{"action": "note", "message": "Case 1: 0x0013=0x4000, reported Iris/MBlack Link", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case001_baseline_before_0013_4000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case001_candidate_0013_4000_iris_mblack_link", "frame": "00 00 13 40 00 09", "listen": 1.0},
|
||||
{"action": "send", "label": "case001_clear_0013", "frame": "00 00 13 00 00 49", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 2: 0x0024=0x8000, reported LCD selector button", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case002_baseline_before_0024_8000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case002_candidate_0024_8000_lcd_selector_button", "frame": "00 00 24 80 00 FE", "listen": 1.0},
|
||||
{"action": "send", "label": "case002_clear_0024", "frame": "00 00 24 00 00 7E", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 3: 0x0082=0x8000, reported IRIS display OP", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case003_baseline_before_0082_8000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case003_candidate_0082_8000_iris_op", "frame": "00 01 02 80 00 D9", "listen": 1.0},
|
||||
{"action": "send", "label": "case003_clear_0082", "frame": "00 01 02 00 00 59", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 4: 0x0082=0x4000, reported IRIS display 1.4", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case004_baseline_before_0082_4000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case004_candidate_0082_4000_iris_1_4", "frame": "00 01 02 40 00 19", "listen": 1.0},
|
||||
{"action": "send", "label": "case004_clear_0082", "frame": "00 01 02 00 00 59", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 5: 0x0083=0x8000, reported MASTER GAIN display -3", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case005_baseline_before_0083_8000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case005_candidate_0083_8000_master_gain_minus_3", "frame": "00 01 03 80 00 D8", "listen": 1.0},
|
||||
{"action": "send", "label": "case005_clear_0083", "frame": "00 01 03 00 00 58", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 6: 0x0093=0x8000, reported white balance PRESET", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case006_baseline_before_0093_8000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case006_candidate_0093_8000_white_balance_preset", "frame": "00 01 13 80 00 C8", "listen": 1.0},
|
||||
{"action": "send", "label": "case006_clear_0093", "frame": "00 01 13 00 00 48", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 7: 0x0093=0x4000, reported white balance AUTO", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case007_baseline_before_0093_4000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case007_candidate_0093_4000_white_balance_auto", "frame": "00 01 13 40 00 08", "listen": 1.0},
|
||||
{"action": "send", "label": "case007_clear_0093", "frame": "00 01 13 00 00 48", "listen": 0.7},
|
||||
|
||||
{"action": "note", "message": "Case 8: 0x0093=0x2000, reported white balance MANUAL", "banner": true},
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.5},
|
||||
{"action": "send", "label": "case008_baseline_before_0093_2000", "frame": "00 00 00 80 00 DA", "listen": 0.7},
|
||||
{"action": "send", "label": "case008_candidate_0093_2000_white_balance_manual", "frame": "00 01 13 20 00 68", "listen": 1.0},
|
||||
{"action": "send", "label": "case008_clear_0093", "frame": "00 01 13 00 00 48", "listen": 0.7},
|
||||
{"action": "listen", "seconds": 1.0}
|
||||
]
|
||||
}
|
||||
14871
scenarios/panel-atlas-big-visual-sweep-0001-017f-highbits.json
Normal file
14871
scenarios/panel-atlas-big-visual-sweep-0001-017f-highbits.json
Normal file
File diff suppressed because it is too large
Load Diff
142
scenarios/panel-atlas-operator-lamps-v1.json
Normal file
142
scenarios/panel-atlas-operator-lamps-v1.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"name": "panel-atlas-operator-lamps-v1",
|
||||
"notes": [
|
||||
"Compact visible-output atlas for operator lamps and tally-adjacent selectors.",
|
||||
"Use webcam snapshots to tie each selector/value write to the panel state.",
|
||||
"This intentionally stays on command-0 primary-table writes and avoids COPY/menu latch selectors."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"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_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "cam_power_candidate_0007_high",
|
||||
"frame": "00 00 07 80 00 DD",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "cam_power_candidate_0007_low",
|
||||
"frame": "00 00 07 00 00 5D",
|
||||
"listen": 0.50
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "call_candidate_0015_high",
|
||||
"frame": "00 00 15 80 00 CF",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "call_candidate_0015_low",
|
||||
"frame": "00 00 15 00 00 4F",
|
||||
"listen": 0.50
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_neighbors",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0012_high",
|
||||
"frame": "00 00 12 80 00 C8",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0012_low",
|
||||
"frame": "00 00 12 00 00 48",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0013_high",
|
||||
"frame": "00 00 13 80 00 C9",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0013_low",
|
||||
"frame": "00 00 13 00 00 49",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0016_high",
|
||||
"frame": "00 00 16 80 00 CC",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0016_low",
|
||||
"frame": "00 00 16 00 00 4C",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0017_high",
|
||||
"frame": "00 00 17 80 00 CD",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0017_low",
|
||||
"frame": "00 00 17 00 00 4D",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0018_high",
|
||||
"frame": "00 00 18 80 00 C2",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_0018_low",
|
||||
"frame": "00 00 18 00 00 42",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_001a_high",
|
||||
"frame": "00 00 1A 80 00 C0",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "neighbor_001a_low",
|
||||
"frame": "00 00 1A 00 00 40",
|
||||
"listen": 0.45
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 0.80
|
||||
}
|
||||
]
|
||||
}
|
||||
124
scenarios/panel-atlas-readout-status-v1.json
Normal file
124
scenarios/panel-atlas-readout-status-v1.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"name": "panel-atlas-readout-status-v1",
|
||||
"notes": [
|
||||
"Compact visible-output atlas for readouts and status clusters.",
|
||||
"Targets known shutter display, white-balance/black-flare, and KNEE candidate selectors.",
|
||||
"Use webcam snapshots to tie each selector/value write to visible LCD, lamp, and seven-segment states."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"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_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "shutter_008f_evs_bit11",
|
||||
"frame": "00 01 0F 08 00 5C",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "shutter_008f_off_bit12",
|
||||
"frame": "00 01 0F 10 00 44",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "shutter_008f_clear",
|
||||
"frame": "00 01 0F 00 00 54",
|
||||
"listen": 0.50
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_0093",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "status_0093_bit15_wb_preset_black_manual",
|
||||
"frame": "00 01 13 80 00 C8",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "status_0093_9020_black_manual_context",
|
||||
"frame": "00 01 13 90 20 F8",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "status_0093_90ff_black_auto_candidate",
|
||||
"frame": "00 01 13 90 FF 27",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "status_0093_clear",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.50
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_knee",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "knee_00b9_bit13_report_gate",
|
||||
"frame": "00 01 39 20 00 42",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "knee_00b9_bits15_13_label_gate",
|
||||
"frame": "00 01 39 A0 00 C2",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "knee_0110_bit15_auto_or_dl_candidate",
|
||||
"frame": "00 01 90 80 00 4B",
|
||||
"listen": 1.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "knee_0110_clear",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "knee_00b9_clear",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 0.80
|
||||
}
|
||||
]
|
||||
}
|
||||
124
scenarios/panel-atlas-right-stack-fresh-latch-v1.json
Normal file
124
scenarios/panel-atlas-right-stack-fresh-latch-v1.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"name": "panel-atlas-right-stack-fresh-latch-v1",
|
||||
"notes": [
|
||||
"Fresh-boot isolation for right-side status selectors that looked latched in the compact run.",
|
||||
"Each selector gets its own power cycle before high/low testing so 0x0017 cannot contaminate 0x001A.",
|
||||
"Use webcam snapshots to compare CONNECT OK baseline, high write, and low write."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"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": "case_0017_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0017_ok_seed_2_baseline",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0017_high_bars_family",
|
||||
"frame": "00 00 17 80 00 CD",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0017_low_clear_attempt",
|
||||
"frame": "00 00 17 00 00 4D",
|
||||
"listen": 1.00
|
||||
},
|
||||
{
|
||||
"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": "case_001a_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_001a_ok_seed_2_baseline",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_001a_high_bars_family",
|
||||
"frame": "00 00 1A 80 00 C0",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_001a_low_clear_attempt",
|
||||
"frame": "00 00 1A 00 00 40",
|
||||
"listen": 1.00
|
||||
},
|
||||
{
|
||||
"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": "case_0007_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0007_ok_seed_2_baseline",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0007_high_cam_power",
|
||||
"frame": "00 00 07 80 00 DD",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "case_0007_low_clear_attempt",
|
||||
"frame": "00 00 07 00 00 5D",
|
||||
"listen": 1.00
|
||||
}
|
||||
]
|
||||
}
|
||||
154
scenarios/panel-atlas-right-stack-isolation-v1.json
Normal file
154
scenarios/panel-atlas-right-stack-isolation-v1.json
Normal file
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"name": "panel-atlas-right-stack-isolation-v1",
|
||||
"notes": [
|
||||
"Tight right-side lamp isolation for CAM POWER/CALL/BARS/status candidates.",
|
||||
"Each candidate is held high then low twice so webcam frames can be compared against the same baseline.",
|
||||
"Watch the right-side CAM POWER/BARS/status stack and the CALL/CAM POWER lamps; CONNECT OK traffic is kept alive throughout."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"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_ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 2,
|
||||
"steps": [
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0007_high_cam_power",
|
||||
"frame": "00 00 07 80 00 DD",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0007_low_cam_power",
|
||||
"frame": "00 00 07 00 00 5D",
|
||||
"listen": 0.65
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_0015",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 2,
|
||||
"steps": [
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0015_high_call",
|
||||
"frame": "00 00 15 80 00 CF",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0015_low_call",
|
||||
"frame": "00 00 15 00 00 4F",
|
||||
"listen": 0.65
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_0013",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 2,
|
||||
"steps": [
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0013_high_orange_status",
|
||||
"frame": "00 00 13 80 00 C9",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0013_low_orange_status",
|
||||
"frame": "00 00 13 00 00 49",
|
||||
"listen": 0.65
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_0017",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 2,
|
||||
"steps": [
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0017_high_bars_family",
|
||||
"frame": "00 00 17 80 00 CD",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0017_low_bars_family",
|
||||
"frame": "00 00 17 00 00 4D",
|
||||
"listen": 0.65
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_refresh_before_001a",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.40
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 2,
|
||||
"steps": [
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_001a_high_bars_family",
|
||||
"frame": "00 00 1A 80 00 C0",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_001a_low_bars_family",
|
||||
"frame": "00 00 1A 00 00 40",
|
||||
"listen": 0.65
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 0.80
|
||||
}
|
||||
]
|
||||
}
|
||||
1276
scenarios/panel-atlas-rom-button-output-candidates-v1.json
Normal file
1276
scenarios/panel-atlas-rom-button-output-candidates-v1.json
Normal file
File diff suppressed because it is too large
Load Diff
110
scenarios/panel-atlas-standard-master-bit-sweep-v1.json
Normal file
110
scenarios/panel-atlas-standard-master-bit-sweep-v1.json
Normal file
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"name": "panel-atlas-standard-master-bit-sweep-v1",
|
||||
"notes": [
|
||||
"Targeted bench sweep for the far-right STANDARD and MASTER lamps.",
|
||||
"Uses CONNECT OK seed frames, a known SLAVE positive control, then bit sweeps around adjacent selector words.",
|
||||
"Watch far-right stack top to bottom: tally, STANDARD, MASTER, SLAVE, CAM POWER, BARS."
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"action": "power_cycle",
|
||||
"off_seconds": 1.5
|
||||
},
|
||||
{
|
||||
"action": "wait_ready",
|
||||
"heartbeats": 2,
|
||||
"timeout": 10.0,
|
||||
"require": true
|
||||
},
|
||||
{
|
||||
"action": "drain",
|
||||
"seconds": 0.8
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "ok_seed_1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.6
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "ok_seed_2",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.6
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "positive_control_0013_8000_slave_on",
|
||||
"frame": "00 00 13 80 00 C9",
|
||||
"listen": 0.8
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "clear_0013_after_slave",
|
||||
"frame": "00 00 13 00 00 49",
|
||||
"listen": 0.5
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 1,
|
||||
"steps": [
|
||||
{"action": "send", "label": "candidate_0013_4000", "frame": "00 00 13 40 00 09", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0013_after_4000", "frame": "00 00 13 00 00 49", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0013_2000", "frame": "00 00 13 20 00 69", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0013_after_2000", "frame": "00 00 13 00 00 49", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0013_1000", "frame": "00 00 13 10 00 59", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0013_after_1000", "frame": "00 00 13 00 00 49", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0013_0800", "frame": "00 00 13 08 00 41", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0013_after_0800", "frame": "00 00 13 00 00 49", "listen": 0.45}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "ok_refresh_before_0012",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.6
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 1,
|
||||
"steps": [
|
||||
{"action": "send", "label": "candidate_0012_4000", "frame": "00 00 12 40 00 08", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0012_after_4000", "frame": "00 00 12 00 00 48", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0012_2000", "frame": "00 00 12 20 00 68", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0012_after_2000", "frame": "00 00 12 00 00 48", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0012_1000", "frame": "00 00 12 10 00 58", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0012_after_1000", "frame": "00 00 12 00 00 48", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0012_0800", "frame": "00 00 12 08 00 40", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0012_after_0800", "frame": "00 00 12 00 00 48", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0012_8000", "frame": "00 00 12 80 00 C8", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0012_after_8000", "frame": "00 00 12 00 00 48", "listen": 0.45}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "ok_refresh_before_0014",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.6
|
||||
},
|
||||
{
|
||||
"action": "repeat",
|
||||
"count": 1,
|
||||
"steps": [
|
||||
{"action": "send", "label": "candidate_0014_4000", "frame": "00 00 14 40 00 0E", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0014_after_4000", "frame": "00 00 14 00 00 4E", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0014_2000", "frame": "00 00 14 20 00 6E", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0014_after_2000", "frame": "00 00 14 00 00 4E", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0014_1000", "frame": "00 00 14 10 00 5E", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0014_after_1000", "frame": "00 00 14 00 00 4E", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0014_0800", "frame": "00 00 14 08 00 46", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0014_after_0800", "frame": "00 00 14 00 00 4E", "listen": 0.45},
|
||||
{"action": "send", "label": "candidate_0014_8000", "frame": "00 00 14 80 00 CE", "listen": 0.75},
|
||||
{"action": "send", "label": "clear_0014_after_8000", "frame": "00 00 14 00 00 4E", "listen": 0.45}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 1.0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"name": "panel-atlas-standard-master-lower-neighbor-sweep-v3",
|
||||
"notes": [
|
||||
"Third STANDARD/MASTER hunt over lower neighbor selectors 0x0008-0x000F.",
|
||||
"This tests whether the far-right STANDARD/MASTER lamps live closer to the CAM POWER/CALL selector pocket than the SLAVE/BARS pocket.",
|
||||
"Watch far-right stack top to bottom: tally, STANDARD, MASTER, SLAVE, CAM POWER, BARS."
|
||||
],
|
||||
"steps": [
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.8},
|
||||
{"action": "send", "label": "ok_seed_1", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "ok_seed_2", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "positive_control_0013_8000_slave_on", "frame": "00 00 13 80 00 C9", "listen": 0.8},
|
||||
{"action": "send", "label": "clear_0013_after_slave", "frame": "00 00 13 00 00 49", "listen": 0.6},
|
||||
|
||||
{"action": "send", "label": "candidate_0008_8000", "frame": "00 00 08 80 00 D2", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0008_4000", "frame": "00 00 08 40 00 12", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0008_2000", "frame": "00 00 08 20 00 72", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0008_1000", "frame": "00 00 08 10 00 42", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0008", "frame": "00 00 08 00 00 52", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_0009_8000", "frame": "00 00 09 80 00 D3", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0009_4000", "frame": "00 00 09 40 00 13", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0009_2000", "frame": "00 00 09 20 00 73", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0009_1000", "frame": "00 00 09 10 00 43", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0009", "frame": "00 00 09 00 00 53", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_000A", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000A_8000", "frame": "00 00 0A 80 00 D0", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000A_4000", "frame": "00 00 0A 40 00 10", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000A_2000", "frame": "00 00 0A 20 00 70", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000A_1000", "frame": "00 00 0A 10 00 40", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000A", "frame": "00 00 0A 00 00 50", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_000B_8000", "frame": "00 00 0B 80 00 D1", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000B_4000", "frame": "00 00 0B 40 00 11", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000B_2000", "frame": "00 00 0B 20 00 71", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000B_1000", "frame": "00 00 0B 10 00 41", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000B", "frame": "00 00 0B 00 00 51", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_000C", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000C_8000", "frame": "00 00 0C 80 00 D6", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000C_4000", "frame": "00 00 0C 40 00 16", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000C_2000", "frame": "00 00 0C 20 00 76", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000C_1000", "frame": "00 00 0C 10 00 46", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000C", "frame": "00 00 0C 00 00 56", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_000D_8000", "frame": "00 00 0D 80 00 D7", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000D_4000", "frame": "00 00 0D 40 00 17", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000D_2000", "frame": "00 00 0D 20 00 77", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000D_1000", "frame": "00 00 0D 10 00 47", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000D", "frame": "00 00 0D 00 00 57", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_000E", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000E_8000", "frame": "00 00 0E 80 00 D4", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000E_4000", "frame": "00 00 0E 40 00 14", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000E_2000", "frame": "00 00 0E 20 00 74", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000E_1000", "frame": "00 00 0E 10 00 44", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000E", "frame": "00 00 0E 00 00 54", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_000F_8000", "frame": "00 00 0F 80 00 D5", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000F_4000", "frame": "00 00 0F 40 00 15", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000F_2000", "frame": "00 00 0F 20 00 75", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_000F_1000", "frame": "00 00 0F 10 00 45", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_000F", "frame": "00 00 0F 00 00 55", "listen": 0.45},
|
||||
|
||||
{"action": "listen", "seconds": 1.0}
|
||||
]
|
||||
}
|
||||
70
scenarios/panel-atlas-standard-master-neighbor-sweep-v2.json
Normal file
70
scenarios/panel-atlas-standard-master-neighbor-sweep-v2.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"name": "panel-atlas-standard-master-neighbor-sweep-v2",
|
||||
"notes": [
|
||||
"Second targeted STANDARD/MASTER hunt after 0x0012/0x0013/0x0014 high-bit pass did not show them.",
|
||||
"Sweeps neighboring selector words with high-nibble values; these are the values most similar to confirmed lamp controls.",
|
||||
"Watch far-right stack top to bottom: tally, STANDARD, MASTER, SLAVE, CAM POWER, BARS."
|
||||
],
|
||||
"steps": [
|
||||
{"action": "power_cycle", "off_seconds": 1.5},
|
||||
{"action": "wait_ready", "heartbeats": 2, "timeout": 10.0, "require": true},
|
||||
{"action": "drain", "seconds": 0.8},
|
||||
{"action": "send", "label": "ok_seed_1", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "ok_seed_2", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "positive_control_0013_8000_slave_on", "frame": "00 00 13 80 00 C9", "listen": 0.8},
|
||||
{"action": "send", "label": "clear_0013_after_slave", "frame": "00 00 13 00 00 49", "listen": 0.6},
|
||||
|
||||
{"action": "send", "label": "candidate_0010_8000", "frame": "00 00 10 80 00 CA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0010_4000", "frame": "00 00 10 40 00 0A", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0010_2000", "frame": "00 00 10 20 00 6A", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0010_1000", "frame": "00 00 10 10 00 5A", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0010", "frame": "00 00 10 00 00 4A", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_0011_8000", "frame": "00 00 11 80 00 CB", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0011_4000", "frame": "00 00 11 40 00 0B", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0011_2000", "frame": "00 00 11 20 00 6B", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0011_1000", "frame": "00 00 11 10 00 5B", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0011", "frame": "00 00 11 00 00 4B", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_0015", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0015_4000", "frame": "00 00 15 40 00 0F", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0015_2000", "frame": "00 00 15 20 00 6F", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0015_1000", "frame": "00 00 15 10 00 5F", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0015_0800", "frame": "00 00 15 08 00 47", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0015", "frame": "00 00 15 00 00 4F", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_0016_8000", "frame": "00 00 16 80 00 CC", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0016_4000", "frame": "00 00 16 40 00 0C", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0016_2000", "frame": "00 00 16 20 00 6C", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0016_1000", "frame": "00 00 16 10 00 5C", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0016", "frame": "00 00 16 00 00 4C", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_0017", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0017_4000", "frame": "00 00 17 40 00 0D", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0017_2000", "frame": "00 00 17 20 00 6D", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0017_1000", "frame": "00 00 17 10 00 5D", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0017_0800", "frame": "00 00 17 08 00 45", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0017", "frame": "00 00 17 00 00 4D", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_0018_8000", "frame": "00 00 18 80 00 C2", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0018_4000", "frame": "00 00 18 40 00 02", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0018_2000", "frame": "00 00 18 20 00 62", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0018_1000", "frame": "00 00 18 10 00 52", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0018", "frame": "00 00 18 00 00 42", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "ok_refresh_before_0019", "frame": "00 00 00 80 00 DA", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0019_8000", "frame": "00 00 19 80 00 C3", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0019_4000", "frame": "00 00 19 40 00 03", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0019_2000", "frame": "00 00 19 20 00 63", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_0019_1000", "frame": "00 00 19 10 00 53", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_0019", "frame": "00 00 19 00 00 43", "listen": 0.45},
|
||||
|
||||
{"action": "send", "label": "candidate_001A_8000", "frame": "00 00 1A 80 00 C0", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_001A_4000", "frame": "00 00 1A 40 00 00", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_001A_2000", "frame": "00 00 1A 20 00 60", "listen": 0.6},
|
||||
{"action": "send", "label": "candidate_001A_1000", "frame": "00 00 1A 10 00 50", "listen": 0.6},
|
||||
{"action": "send", "label": "clear_001A", "frame": "00 00 1A 00 00 40", "listen": 0.45},
|
||||
|
||||
{"action": "listen", "seconds": 1.0}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user