knee auto tests
This commit is contained in:
206
scenarios/lamp-isolate-knee-bit-scan.json
Normal file
206
scenarios/lamp-isolate-knee-bit-scan.json
Normal file
@@ -0,0 +1,206 @@
|
||||
{
|
||||
"name": "lamp-isolate-knee-bit-scan",
|
||||
"notes": [
|
||||
"Bit-scan the two fresh-boot KNEE AUTO candidates, 0x00B9 and 0x0110.",
|
||||
"Each selector gets its own fresh CONNECT OK seed, then high-byte bits are tested one at a time with clears between writes.",
|
||||
"Record whether KNEE AUTO, KNEE manual, or any neighboring paint/detail lamp changes during each label."
|
||||
],
|
||||
"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_for_00b9",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_00b9",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_bit15_watch",
|
||||
"frame": "00 01 39 80 00 E2",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_bit15",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_bit14_watch",
|
||||
"frame": "00 01 39 40 00 22",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_bit14",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_bit13_watch",
|
||||
"frame": "00 01 39 20 00 42",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_bit13",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_bit12_watch",
|
||||
"frame": "00 01 39 10 00 72",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_bit12",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_bit11_watch",
|
||||
"frame": "00 01 39 08 00 6A",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_bit11",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_lowff_watch",
|
||||
"frame": "00 01 39 00 FF 9D",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_lowff",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"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_for_0110",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0110",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_bit15_watch",
|
||||
"frame": "00 01 90 80 00 4B",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_bit15",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_bit14_watch",
|
||||
"frame": "00 01 90 40 00 8B",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_bit14",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_bit13_watch",
|
||||
"frame": "00 01 90 20 00 EB",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_bit13",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_bit12_watch",
|
||||
"frame": "00 01 90 10 00 DB",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_bit12",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_bit11_watch",
|
||||
"frame": "00 01 90 08 00 C3",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_bit11",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_lowff_watch",
|
||||
"frame": "00 01 90 00 FF 34",
|
||||
"listen": 1.30
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_lowff",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.70
|
||||
}
|
||||
]
|
||||
}
|
||||
260
scenarios/lamp-isolate-knee-tail-single-boot.json
Normal file
260
scenarios/lamp-isolate-knee-tail-single-boot.json
Normal file
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"name": "lamp-isolate-knee-tail-single-boot",
|
||||
"notes": [
|
||||
"Fresh-boot isolation for the late broad-status candidates after KNEE AUTO appeared toward the end of the previous run.",
|
||||
"Selector 0x0092 is included as a guard before the stronger tail candidates 0x00A7, 0x00B7, 0x00B9, and 0x0110.",
|
||||
"Each candidate tests high, clear, all bits, clear."
|
||||
],
|
||||
"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_for_0092",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0092",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0092_high_watch",
|
||||
"frame": "00 01 12 80 00 C9",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0092_clear_after_high",
|
||||
"frame": "00 01 12 00 00 49",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0092_all_bits_watch",
|
||||
"frame": "00 01 12 FF FF 49",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0092_clear_after_all",
|
||||
"frame": "00 01 12 00 00 49",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"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_for_00a7",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_00a7",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00a7_high_watch",
|
||||
"frame": "00 01 27 80 00 FC",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00a7_clear_after_high",
|
||||
"frame": "00 01 27 00 00 7C",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00a7_all_bits_watch",
|
||||
"frame": "00 01 27 FF FF 7C",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00a7_clear_after_all",
|
||||
"frame": "00 01 27 00 00 7C",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"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_for_00b7",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_00b7",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b7_high_watch",
|
||||
"frame": "00 01 37 80 00 EC",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b7_clear_after_high",
|
||||
"frame": "00 01 37 00 00 6C",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b7_all_bits_watch",
|
||||
"frame": "00 01 37 FF FF 6C",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b7_clear_after_all",
|
||||
"frame": "00 01 37 00 00 6C",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"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_for_00b9",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_00b9",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_high_watch",
|
||||
"frame": "00 01 39 80 00 E2",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_high",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_all_bits_watch",
|
||||
"frame": "00 01 39 FF FF 62",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_00b9_clear_after_all",
|
||||
"frame": "00 01 39 00 00 62",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"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_for_0110",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0110",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_high_watch",
|
||||
"frame": "00 01 90 80 00 4B",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_high",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.90
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_all_bits_watch",
|
||||
"frame": "00 01 90 FF FF CB",
|
||||
"listen": 1.80
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0110_clear_after_all",
|
||||
"frame": "00 01 90 00 00 CB",
|
||||
"listen": 0.90
|
||||
}
|
||||
]
|
||||
}
|
||||
238
scenarios/lamp-isolate-neighbor-single-boot.json
Normal file
238
scenarios/lamp-isolate-neighbor-single-boot.json
Normal file
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"name": "lamp-isolate-neighbor-single-boot",
|
||||
"notes": [
|
||||
"Fresh-boot isolation for the selector cluster that produced SLAVE, green tally, BARS, MASTER, and related lamps.",
|
||||
"Each candidate starts from a fresh power cycle and CONNECT OK seed so latched lamps from the previous selector cannot contaminate the result.",
|
||||
"Record the visible lamp during the high hold and whether the low write clears it."
|
||||
],
|
||||
"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_for_0012",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0012",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0012_high_watch",
|
||||
"frame": "00 00 12 80 00 C8",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0012_low_clear_watch",
|
||||
"frame": "00 00 12 00 00 48",
|
||||
"listen": 1.20
|
||||
},
|
||||
{
|
||||
"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_for_0013",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0013",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0013_high_watch",
|
||||
"frame": "00 00 13 80 00 C9",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0013_low_clear_watch",
|
||||
"frame": "00 00 13 00 00 49",
|
||||
"listen": 1.20
|
||||
},
|
||||
{
|
||||
"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_for_0016",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0016",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0016_high_watch",
|
||||
"frame": "00 00 16 80 00 CC",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0016_low_clear_watch",
|
||||
"frame": "00 00 16 00 00 4C",
|
||||
"listen": 1.20
|
||||
},
|
||||
{
|
||||
"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_for_0017",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0017",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0017_high_watch",
|
||||
"frame": "00 00 17 80 00 CD",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0017_low_clear_watch",
|
||||
"frame": "00 00 17 00 00 4D",
|
||||
"listen": 1.20
|
||||
},
|
||||
{
|
||||
"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_for_0018",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_0018",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0018_high_watch",
|
||||
"frame": "00 00 18 80 00 C2",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_0018_low_clear_watch",
|
||||
"frame": "00 00 18 00 00 42",
|
||||
"listen": 1.20
|
||||
},
|
||||
{
|
||||
"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_for_001a",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_seed_2_for_001a",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.60
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_001a_high_watch",
|
||||
"frame": "00 00 1A 80 00 C0",
|
||||
"listen": 2.00
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "candidate_001a_low_clear_watch",
|
||||
"frame": "00 00 1A 00 00 40",
|
||||
"listen": 1.20
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user