{
  "name": "shutter-0093-bit-isolation",
  "notes": [
    "Recover to CONNECT OK, then isolate likely selector 0x0093 lamp/display bits with a clear and OK seed before each candidate.",
    "Record white-balance PRESET, black/flare MANUAL, black/flare AUTO, shutter display, iris AUTO, and LCD state during each candidate window.",
    "This follows the 0x0093=0x8000 and 0x0093=0xFFFF bench observations that affected lamps beyond the shutter cluster."
  ],
  "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_connect_ok_seed",
      "frame": "00 00 00 80 00 DA",
      "listen": 0.25
    },
    {
      "action": "repeat",
      "count": 1,
      "steps": [
        {
          "action": "send",
          "label": "e000_0093_clear_before_bit12",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bit12",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bit12_rom_gate",
          "frame": "00 01 13 10 00 58",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bit5",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bit5",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bit5_rom_gate",
          "frame": "00 01 13 00 20 68",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bits12_5",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bits12_5",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bits12_5",
          "frame": "00 01 13 10 20 78",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bit15",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bit15",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bit15_seen_wb_preset_blackflare_manual",
          "frame": "00 01 13 80 00 C8",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bits15_5",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bits15_5",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bits15_5",
          "frame": "00 01 13 80 20 E8",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bits15_12",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bits15_12",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bits15_12",
          "frame": "00 01 13 90 00 D8",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        },
        {
          "action": "send",
          "label": "e000_0093_clear_before_bits15_12_5",
          "frame": "00 01 13 00 00 48",
          "listen": 0.20
        },
        {
          "action": "send",
          "label": "selector_zero_ok_before_bits15_12_5",
          "frame": "00 00 00 80 00 DA",
          "listen": 0.10
        },
        {
          "action": "send",
          "label": "e000_0093_bits15_12_5",
          "frame": "00 01 13 90 20 F8",
          "listen": 0.85
        },
        {
          "action": "table_sweep",
          "selectors": [
            "0x093"
          ],
          "gap": 0.20,
          "ack_on": {
            "enabled": false
          }
        }
      ]
    },
    {
      "action": "listen",
      "seconds": 0.75
    }
  ]
}
