{ "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 } ] }