more lamps
This commit is contained in:
@@ -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 |
|
||||||
|
|
||||||
|
|||||||
106
scenarios/shutter-0093-blackflare-field-confirm.json
Normal file
106
scenarios/shutter-0093-blackflare-field-confirm.json
Normal 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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
178
scenarios/shutter-0093-blackflare-field-stream-confirm.json
Normal file
178
scenarios/shutter-0093-blackflare-field-stream-confirm.json
Normal 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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user