{ "name": "lamp-knee-edge-refresh", "notes": [ "Test whether KNEE AUTO needs a low-to-high edge on 0x0110.15 rather than repeated high writes.", "The context-hold test kept active serial responses alive, but KNEE AUTO still turned off mid-run.", "This alternates clear/set for 0x0110.15, first by itself and then with 0x0093=0x9020 context refresh." ], "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": "edge_only_ok_seed_1", "frame": "00 00 00 80 00 DA", "listen": 0.60 }, { "action": "send", "label": "edge_only_ok_seed_2", "frame": "00 00 00 80 00 DA", "listen": 0.60 }, { "action": "repeat", "count": 10, "steps": [ { "action": "send", "label": "edge_only_clear_0110", "frame": "00 01 90 00 00 CB", "listen": 0.18 }, { "action": "send", "label": "edge_only_set_0110_bit15_watch", "frame": "00 01 90 80 00 4B", "listen": 0.42 } ] }, { "action": "send", "label": "edge_only_final_clear_0110", "frame": "00 01 90 00 00 CB", "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": "edge_context_ok_seed_1", "frame": "00 00 00 80 00 DA", "listen": 0.60 }, { "action": "send", "label": "edge_context_ok_seed_2", "frame": "00 00 00 80 00 DA", "listen": 0.60 }, { "action": "repeat", "count": 10, "steps": [ { "action": "send", "label": "edge_context_0093_9020_refresh", "frame": "00 01 13 90 20 F8", "listen": 0.20 }, { "action": "send", "label": "edge_context_clear_0110", "frame": "00 01 90 00 00 CB", "listen": 0.16 }, { "action": "send", "label": "edge_context_set_0110_bit15_watch", "frame": "00 01 90 80 00 4B", "listen": 0.34 } ] }, { "action": "send", "label": "edge_context_final_clear_0110", "frame": "00 01 90 00 00 CB", "listen": 1.00 } ] }