more lamp work
This commit is contained in:
@@ -147,6 +147,7 @@ These JSON scenarios are set up for the current bench runner and default to `384
|
||||
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-gate-8000.json --parity E --log captures\shutter-0093-gate-8000.txt --result-json captures\shutter-0093-gate-8000-result.json
|
||||
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-gate-ffff.json --parity E --log captures\shutter-0093-gate-ffff.txt --result-json captures\shutter-0093-gate-ffff-result.json
|
||||
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-bit-isolation.json --parity E --log captures\shutter-0093-bit-isolation.txt --result-json captures\shutter-0093-bit-isolation-result.json
|
||||
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-auto-candidates.json --parity E --log captures\shutter-0093-blackflare-auto-candidates.txt --result-json captures\shutter-0093-blackflare-auto-candidates-result.json
|
||||
```
|
||||
|
||||
Run order:
|
||||
@@ -157,6 +158,7 @@ Run order:
|
||||
4. `shutter-0093-gate-8000.json`: tests the ROM-observed `0x0093` high-bit gate without enabling every unknown bit.
|
||||
5. `shutter-0093-gate-ffff.json`: broader gate test if the targeted high-bit run is uneventful.
|
||||
6. `shutter-0093-bit-isolation.json`: isolates the `0x0093` bits after bench evidence showed this selector also controls white-balance and black/flare lamps.
|
||||
7. `shutter-0093-blackflare-auto-candidates.json`: uses the known `0x9020` black/flare-manual context and adds each remaining bit to hunt for the `0xFFFF` black/flare-AUTO effect.
|
||||
|
||||
## Bench Observations 2026-05-26
|
||||
|
||||
@@ -167,7 +169,8 @@ Observed visible effects from the first adjacent-selector run set:
|
||||
| `shutter-adjacent-readback` | all read selectors returned value `0x0000` | no specific visible note | baseline cluster was clear |
|
||||
| `shutter-0093-gate-8000` | `E000[0x0093]` read back as `0x8000` | white-balance PRESET lamp on, black/flare MANUAL lamp on | `0x0093.15` is a live panel-status/lamp bit, not just a shutter gate |
|
||||
| `shutter-0093-gate-ffff` | `E000[0x0093]` read back as `0xFFFF` | white-balance PRESET lamp on, black/flare AUTO lamp on | another `0x0093` bit overrides/selects black/flare AUTO when all bits are set |
|
||||
| `shutter-0093-bit-isolation` | stepped through `0x1000`, `0x0020`, `0x1020`, `0x8000`, `0x8020`, `0x9000`, `0x9020` | white-balance lamps swapped between MANUAL and PRESET; black/flare stayed MANUAL | bit 15 remains the prime white-balance PRESET candidate; black/flare AUTO is likely outside bits 15/12/5 |
|
||||
| `shutter-008f-evs-clear-control` | `0x008F` writes acknowledged as `0x0800`, `0x0000`, `0x0800` | SHUTTER swapped between EVS and OFF while iris AUTO lamp stayed on | `0x008F` is a packed shutter/display status word; clearing it does not simply mean "blank" |
|
||||
| `shutter-008f-evs-timeout-control` | only `0x008F=0x0800` was sent after OK seed | EVS/iris AUTO, then `CONNECT:NOT ACT` | later blanking is timeout cleanup, not selector-clear evidence |
|
||||
|
||||
This changes the local naming: the "adjacent shutter" group should be treated as a broader camera-status and panel-output word cluster. `0x008F` currently covers shutter EVS/OFF plus iris AUTO side effects; `0x0093` covers at least white-balance PRESET and black/flare manual/auto side effects, and still gates some ROM-observed shutter/clear-scan report lanes.
|
||||
This changes the local naming: the "adjacent shutter" group should be treated as a broader camera-status and panel-output word cluster. `0x008F` currently covers shutter EVS/OFF plus iris AUTO side effects; `0x0093` covers at least white-balance manual/preset and black/flare manual/auto side effects, and still gates some ROM-observed shutter/clear-scan report lanes.
|
||||
|
||||
436
scenarios/shutter-0093-blackflare-auto-candidates.json
Normal file
436
scenarios/shutter-0093-blackflare-auto-candidates.json
Normal file
@@ -0,0 +1,436 @@
|
||||
{
|
||||
"name": "shutter-0093-blackflare-auto-candidates",
|
||||
"notes": [
|
||||
"Recover to CONNECT OK, then use known 0x0093=0x9020 black/flare-manual context and add one remaining bit at a time.",
|
||||
"Earlier 0xFFFF made black/flare AUTO, while 0x9020 kept black/flare MANUAL, so the missing AUTO bit should be outside bits 15, 12, and 5.",
|
||||
"Record white-balance MANUAL/PRESET, black/flare MANUAL/AUTO, shutter display, iris AUTO, and LCD state during each candidate window."
|
||||
],
|
||||
"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_known_manual_context_9020",
|
||||
"frame": "00 01 13 90 20 F8",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_known_auto_reference_ffff",
|
||||
"frame": "00 01 13 FF FF 48",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit14",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit14",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit14",
|
||||
"frame": "00 01 13 D0 20 B8",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit13",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit13",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit13",
|
||||
"frame": "00 01 13 B0 20 D8",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit11",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit11",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit11",
|
||||
"frame": "00 01 13 98 20 F0",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit10",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit10",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit10",
|
||||
"frame": "00 01 13 94 20 FC",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit9",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit9",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit9",
|
||||
"frame": "00 01 13 92 20 FA",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit8",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit8",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit8",
|
||||
"frame": "00 01 13 91 20 F9",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit7",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit7",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit7",
|
||||
"frame": "00 01 13 90 A0 78",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit6",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit6",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit6",
|
||||
"frame": "00 01 13 90 60 B8",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit4",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit4",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit4",
|
||||
"frame": "00 01 13 90 30 E8",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit3",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit3",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit3",
|
||||
"frame": "00 01 13 90 28 F0",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit2",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit2",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit2",
|
||||
"frame": "00 01 13 90 24 FC",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit1",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit1",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit1",
|
||||
"frame": "00 01 13 90 22 FA",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_clear_before_bit0",
|
||||
"frame": "00 01 13 00 00 48",
|
||||
"listen": 0.18
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "selector_zero_ok_before_bit0",
|
||||
"frame": "00 00 00 80 00 DA",
|
||||
"listen": 0.10
|
||||
},
|
||||
{
|
||||
"action": "send",
|
||||
"label": "e000_0093_9020_plus_bit0",
|
||||
"frame": "00 01 13 90 21 F9",
|
||||
"listen": 0.85
|
||||
},
|
||||
{
|
||||
"action": "table_sweep",
|
||||
"selectors": [
|
||||
"0x093"
|
||||
],
|
||||
"gap": 0.16,
|
||||
"ack_on": {
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "listen",
|
||||
"seconds": 0.75
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user