1
0

more lamps

This commit is contained in:
Aiden
2026-05-26 17:18:05 +10:00
parent fb282fea49
commit 8d98beb6aa
3 changed files with 290 additions and 0 deletions

View File

@@ -150,6 +150,8 @@ 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-blackflare-auto-candidates.json --parity E --log captures\shutter-0093-blackflare-auto-candidates.txt --result-json captures\shutter-0093-blackflare-auto-candidates-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
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-slow-marked.json --parity E --log captures\shutter-0093-blackflare-slow-marked.txt --result-json captures\shutter-0093-blackflare-slow-marked-result.json .\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-slow-marked.json --parity E --log captures\shutter-0093-blackflare-slow-marked.txt --result-json captures\shutter-0093-blackflare-slow-marked-result.json
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-field-groups.json --parity E --log captures\shutter-0093-blackflare-field-groups.txt --result-json captures\shutter-0093-blackflare-field-groups-result.json .\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-field-groups.json --parity E --log captures\shutter-0093-blackflare-field-groups.txt --result-json captures\shutter-0093-blackflare-field-groups-result.json
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-field-confirm.json --parity E --log captures\shutter-0093-blackflare-field-confirm.txt --result-json captures\shutter-0093-blackflare-field-confirm-result.json
.\.venv\Scripts\python.exe scripts\serial_scenario.py scenarios\shutter-0093-blackflare-field-stream-confirm.json --parity E --log captures\shutter-0093-blackflare-field-stream-confirm.txt --result-json captures\shutter-0093-blackflare-field-stream-confirm-result.json
``` ```
Run order: Run order:
@@ -163,6 +165,8 @@ Run order:
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. 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.
8. `shutter-0093-blackflare-slow-marked.json`: repeats the hunt without clear/OK resets between candidates, so white-balance should flicker less and black/flare AUTO transitions can be matched to candidate holds. 8. `shutter-0093-blackflare-slow-marked.json`: repeats the hunt without clear/OK resets between candidates, so white-balance should flicker less and black/flare AUTO transitions can be matched to candidate holds.
9. `shutter-0093-blackflare-field-groups.json`: tests multi-bit field groups after the slow-marked run suggested black/flare AUTO is not one single extra bit over `0x9020`. 9. `shutter-0093-blackflare-field-groups.json`: tests multi-bit field groups after the slow-marked run suggested black/flare AUTO is not one single extra bit over `0x9020`.
10. `shutter-0093-blackflare-field-confirm.json`: shorter, longer-hold confirmation of the broad field groups after the first field-groups run produced three MANUAL->AUTO->MANUAL swaps.
11. `shutter-0093-blackflare-field-stream-confirm.json`: repeats each candidate every 0.60 s after the longer-hold confirmation fell into `CONNECT:NOT ACT`, testing the CCU-refresh model directly.
## Bench Observations 2026-05-26 ## Bench Observations 2026-05-26
@@ -176,6 +180,8 @@ Observed visible effects from the first adjacent-selector run 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-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-0093-blackflare-auto-candidates` | stepped through `0x9020`, `0xFFFF`, then `0x9020` plus each remaining bit | black/flare swapped AUTO/MANUAL more slowly than white-balance MANUAL/PRESET | the clear/OK reset before each candidate likely caused extra white-balance flicker; use the slow-marked follow-up to map black/flare transitions to exact bits | | `shutter-0093-blackflare-auto-candidates` | stepped through `0x9020`, `0xFFFF`, then `0x9020` plus each remaining bit | black/flare swapped AUTO/MANUAL more slowly than white-balance MANUAL/PRESET | the clear/OK reset before each candidate likely caused extra white-balance flicker; use the slow-marked follow-up to map black/flare transitions to exact bits |
| `shutter-0093-blackflare-slow-marked` | held `0x9020`, `0xFFFF`, then alternated `0x9020` with each candidate | white-balance stayed stable, black/flare swapped twice with large pauses; panel stayed `CONNECT: OK` throughout | likely only the manual-reference to `0xFFFF` and `0xFFFF` back to `0x9020` changed black/flare, so AUTO is probably a multi-bit field rather than one added bit | | `shutter-0093-blackflare-slow-marked` | held `0x9020`, `0xFFFF`, then alternated `0x9020` with each candidate | white-balance stayed stable, black/flare swapped twice with large pauses; panel stayed `CONNECT: OK` throughout | likely only the manual-reference to `0xFFFF` and `0xFFFF` back to `0x9020` changed black/flare, so AUTO is probably a multi-bit field rather than one added bit |
| `shutter-0093-blackflare-field-groups` | held broad grouped values such as `0xF020`, `0xFF20`, `0x9F20`, `0x90FF`, `0x9FFF` | black/flare made three MANUAL->AUTO->MANUAL swaps | broad field combinations can produce black/flare AUTO; use the shorter confirmation run to identify which grouped windows caused the swaps |
| `shutter-0093-blackflare-field-confirm` | held `0xFFFF` for 2.8 s, then candidate groups | one MANUAL->AUTO transition at the start, then `CONNECT:NOT ACT`; PRESET white-balance lamp briefly flashed a few times while inactive | a silent 2.8 s hold is too long; traffic must be refreshed, and some lamp latch/update paths can still flash during inactive display cleanup |
| `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-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 | | `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 |

View File

@@ -0,0 +1,106 @@
{
"name": "shutter-0093-blackflare-field-confirm",
"notes": [
"Shorter black/flare field confirmation after the field-groups run produced three MANUAL->AUTO->MANUAL swaps.",
"This keeps only the broad candidates most likely to explain those swaps, with longer holds for easier visual correlation.",
"Each candidate is preceded by 0x9020 manual context. Count which candidate windows produce black/flare AUTO."
],
"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": "send",
"label": "manual_reference_9020",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "auto_reference_ffff",
"frame": "00 01 13 FF FF 48",
"listen": 2.80
},
{
"action": "send",
"label": "manual_before_candidate_f020",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "candidate_f020_high_upper_nibble",
"frame": "00 01 13 F0 20 98",
"listen": 2.80
},
{
"action": "send",
"label": "manual_before_candidate_ff20",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "candidate_ff20_all_high_byte",
"frame": "00 01 13 FF 20 97",
"listen": 2.80
},
{
"action": "send",
"label": "manual_before_candidate_9f20",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "candidate_9f20_high_low_nibble",
"frame": "00 01 13 9F 20 F7",
"listen": 2.80
},
{
"action": "send",
"label": "manual_before_candidate_90ff",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "candidate_90ff_low_byte",
"frame": "00 01 13 90 FF 27",
"listen": 2.80
},
{
"action": "send",
"label": "manual_before_candidate_9fff",
"frame": "00 01 13 90 20 F8",
"listen": 1.80
},
{
"action": "send",
"label": "candidate_9fff_high_low_nibble_plus_low_byte",
"frame": "00 01 13 9F FF 28",
"listen": 2.80
},
{
"action": "listen",
"seconds": 0.75
}
]
}

View File

@@ -0,0 +1,178 @@
{
"name": "shutter-0093-blackflare-field-stream-confirm",
"notes": [
"Streaming confirmation for selector 0x0093 black/flare fields.",
"The prior field-confirm run held candidates too long and fell into CONNECT NOT ACT during the 0xFFFF hold.",
"This repeats each candidate every 0.60s so the candidate value itself acts like a CCU refresh stream."
],
"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": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_auto_reference_ffff",
"frame": "00 01 13 FF FF 48",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020_before_f020",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_candidate_f020",
"frame": "00 01 13 F0 20 98",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020_before_ff20",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_candidate_ff20",
"frame": "00 01 13 FF 20 97",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020_before_9f20",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_candidate_9f20",
"frame": "00 01 13 9F 20 F7",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020_before_90ff",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_candidate_90ff",
"frame": "00 01 13 90 FF 27",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_manual_9020_before_9fff",
"frame": "00 01 13 90 20 F8",
"listen": 0.60
}
]
},
{
"action": "repeat",
"count": 4,
"steps": [
{
"action": "send",
"label": "stream_candidate_9fff",
"frame": "00 01 13 9F FF 28",
"listen": 0.60
}
]
},
{
"action": "listen",
"seconds": 0.75
}
]
}