133 lines
3.1 KiB
JSON
133 lines
3.1 KiB
JSON
{
|
|
"name": "knee-rom-gate-and-value-probe",
|
|
"notes": [
|
|
"Probe the ROM-derived KNEE model from docs/pt2-knee-rom-trace.md.",
|
|
"The key correction is that 0x00B9.13 gates the live KNEE value/report branch, while 0x0110.15 forces the timed KNEE page.",
|
|
"Serial writes may only prepare the state. If the panel has a KNEE-related control, move it during the long gate windows and watch for selector 0x00BC reports or visible KNEE changes."
|
|
],
|
|
"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": "ok_seed_1",
|
|
"frame": "00 00 00 80 00 DA",
|
|
"listen": 0.60
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "ok_seed_2",
|
|
"frame": "00 00 00 80 00 DA",
|
|
"listen": 0.60
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "clear_00b9",
|
|
"frame": "00 01 39 00 00 62",
|
|
"listen": 0.30
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "clear_0110",
|
|
"frame": "00 01 90 00 00 CB",
|
|
"listen": 0.80
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "read_00bc_baseline",
|
|
"frame": "01 01 3C 00 00 66",
|
|
"listen": 0.60
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "set_00b9_bit13_gate_move_knee_control_if_possible",
|
|
"frame": "00 01 39 20 00 42",
|
|
"listen": 4.00
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "read_00bc_after_gate_window",
|
|
"frame": "01 01 3C 00 00 66",
|
|
"listen": 0.80
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "set_00b9_bits15_and_13_preset_label_plus_gate",
|
|
"frame": "00 01 39 A0 00 C2",
|
|
"listen": 1.50
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "set_0110_bit15_dl_timed_page_override",
|
|
"frame": "00 01 90 80 00 4B",
|
|
"listen": 2.50
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "clear_0110_return_to_value_path",
|
|
"frame": "00 01 90 00 00 CB",
|
|
"listen": 1.00
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "read_00bc_after_override_clear",
|
|
"frame": "01 01 3C 00 00 66",
|
|
"listen": 0.80
|
|
},
|
|
{
|
|
"action": "repeat",
|
|
"count": 2,
|
|
"steps": [
|
|
{
|
|
"action": "send",
|
|
"label": "00bc_direct_low_probe",
|
|
"frame": "00 01 3C 00 00 67",
|
|
"listen": 0.35
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "00bc_direct_mid_probe",
|
|
"frame": "00 01 3C 40 00 27",
|
|
"listen": 0.35
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "00bc_direct_high_probe",
|
|
"frame": "00 01 3C 80 00 E7",
|
|
"listen": 0.35
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "read_00bc_direct_probe",
|
|
"frame": "01 01 3C 00 00 66",
|
|
"listen": 0.50
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "final_clear_00b9",
|
|
"frame": "00 01 39 00 00 62",
|
|
"listen": 0.50
|
|
},
|
|
{
|
|
"action": "send",
|
|
"label": "final_clear_0110",
|
|
"frame": "00 01 90 00 00 CB",
|
|
"listen": 1.50
|
|
}
|
|
]
|
|
}
|