run 32
This commit is contained in:
@@ -6406,3 +6406,352 @@ Best current takeaway:
|
||||
- but they also are not behaving like only four hardcoded legal pair tokens
|
||||
- they look more like a small 2-byte parameter space with selector-specific
|
||||
mapping rules
|
||||
|
||||
### HE29: Valid-Connection / Camera-Info Stream Fan-Out
|
||||
|
||||
Goal:
|
||||
|
||||
- Fan back out from one-shot reads and selector branches into **sustained
|
||||
host-present plus camera-info-like traffic**.
|
||||
- Try to answer a more practical question:
|
||||
can we send a stream that the panel treats as a real CCU/camera connection,
|
||||
even if only enough to change `CONNECT NOT ACT`, light a lamp, or wake a
|
||||
readout?
|
||||
|
||||
Working idea:
|
||||
|
||||
- Plain host heartbeat can hold the panel out of `CONNECT NOT ACT` while it is
|
||||
flowing, but it does not by itself produce a stable active session.
|
||||
- The panel may want **both**:
|
||||
- ongoing host presence/cadence
|
||||
- and a rotating set of camera/capability/status pages
|
||||
- We now have several families that are plausible candidates for those pages:
|
||||
- discovery surface: `A0`, `B0`, `B5`
|
||||
- selector surface: `90 -> E8/E9/EC`
|
||||
- host-shaped family mirrors: `7A`, `7B`, `FB`
|
||||
- heartbeat-adjacent base families: `40`, `C0`, `50`
|
||||
|
||||
What would count as a hit:
|
||||
|
||||
- the panel stays out of `CONNECT NOT ACT` **and**
|
||||
- a light changes
|
||||
- a numeric readout changes
|
||||
- the LCD changes to something new
|
||||
- or one-shot branches become reusable while the stream is running
|
||||
- repeated non-heartbeat RX beyond the usual single group-1 burst
|
||||
- any sign that the panel begins acting "session alive" rather than merely
|
||||
"host present"
|
||||
|
||||
Note:
|
||||
|
||||
- `serial_sequence_probe.py` now supports `--prompt-screen`, so the final
|
||||
screen/light observation can live in the same capture log.
|
||||
|
||||
Checksums already known:
|
||||
|
||||
- heartbeat: `00 00 00 00 80 DA`
|
||||
- `A0`: `00 00 A0 00 80 7A`
|
||||
- `B0`: `00 00 B0 00 80 6A`
|
||||
- `B5`: `00 00 B5 00 80 6F`
|
||||
- `90`: `00 00 90 00 80 4A`
|
||||
- `AF`: `00 00 AF 00 80 75`
|
||||
- `E8 40 30`: `00 00 E8 40 30 C2`
|
||||
- `E9 40 30`: `00 00 E9 40 30 C3`
|
||||
- `EC 40 30`: `00 00 EC 40 30 C6`
|
||||
- host `7A 50 26`: `00 00 7A 50 26 56`
|
||||
- host `7A 28 D3`: `00 00 7A 28 D3 DB`
|
||||
- host `7B 50 26`: `00 00 7B 50 26 57`
|
||||
- host `FB 50 26`: `00 00 FB 50 26 D7`
|
||||
- host `FA 50 26`: `00 00 FA 50 26 D6`
|
||||
- host `40 40 30`: `00 00 40 40 30 6A`
|
||||
- host `C0 40 30`: `00 00 C0 40 30 EA`
|
||||
- host `50 40 30`: `00 00 50 40 30 7A`
|
||||
|
||||
#### HE29a: Discovery carousel under maintained heartbeat
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- The panel may want periodic readable capability/status pages, not just a lone
|
||||
one-shot query at boot.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 00 00 80 DA" --frame "00 00 A0 00 80 7A" --frame "00 00 00 00 80 DA" --frame "00 00 B0 00 80 6A" --frame "00 00 00 00 80 DA" --frame "00 00 B5 00 80 6F" --repeat 10 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-discovery-carousel.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- later groups reopening `68`, `6C`, or `6D` families
|
||||
- the panel leaving `CONNECT NOT ACT` while the carousel runs
|
||||
- any lamp or readout change
|
||||
|
||||
#### HE29b: Selector-page carousel under strong `90` context
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- The selector surface may actually be a rotating camera-info page set, and the
|
||||
panel may want repeated page selection rather than isolated one-shot use.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 90 00 80 4A" --frame "00 00 E8 40 30 C2" --frame "00 00 00 00 80 DA" --frame "00 00 90 00 80 4A" --frame "00 00 E9 40 30 C3" --frame "00 00 00 00 80 DA" --frame "00 00 90 00 80 4A" --frame "00 00 EC 40 30 C6" --repeat 8 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-selector-carousel.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- later groups still opening `7A`, `7B`, `FB`, or `FA` families
|
||||
- the selector space becoming reusable instead of draining to heartbeat
|
||||
- any visible wake-up on the panel
|
||||
|
||||
#### HE29c: Direct host-shaped family feed
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- The panel may want host-origin camera-state frames that look more like the
|
||||
downstream family blocks than like discovery queries.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 00 00 80 DA" --frame "00 00 7A 50 26 56" --frame "00 00 00 00 80 DA" --frame "00 00 7A 28 D3 DB" --frame "00 00 00 00 80 DA" --frame "00 00 7B 50 26 57" --frame "00 00 00 00 80 DA" --frame "00 00 FB 50 26 D7" --repeat 10 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-direct-family-feed.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- any visible panel reaction with no preceding opener/selector steps
|
||||
- whether any of these host-shaped family blocks seem to act like camera values
|
||||
- whether the panel begins sending a different recurring status frame
|
||||
|
||||
#### HE29d: Hybrid select-then-feed stream
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- The panel may want a selector/page choice immediately followed by page data,
|
||||
not just a readback-like query.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 90 00 80 4A" --frame "00 00 E8 40 30 C2" --frame "00 00 7A 50 26 56" --frame "00 00 00 00 80 DA" --frame "00 00 90 00 80 4A" --frame "00 00 E9 40 30 C3" --frame "00 00 7A 28 D3 DB" --frame "00 00 00 00 80 DA" --frame "00 00 90 00 80 4A" --frame "00 00 EC 40 30 C6" --frame "00 00 7B 50 26 57" --repeat 8 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-hybrid-90.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- whether later groups stop collapsing after the first selector-family burst
|
||||
- whether page-matched host data makes the selector space feel more "live"
|
||||
- any call lamp, tally, or numeric display change
|
||||
|
||||
#### HE29e: `AF`-biased sibling-family stream
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- `AF` changes which sibling family opens; maybe that opener is closer to a real
|
||||
CCU "camera data" context than `90` for some pages.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 AF 00 80 75" --frame "00 00 E8 40 30 C2" --frame "00 00 FA 50 26 D6" --frame "00 00 00 00 80 DA" --frame "00 00 AF 00 80 75" --frame "00 00 EC 40 30 C6" --frame "00 00 7B 50 26 57" --repeat 8 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-hybrid-af.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- whether `AF` keeps `E8` in the `FA` sibling family more reliably
|
||||
- whether `AF` changes visible panel behavior even if serial RX still looks
|
||||
one-shot
|
||||
|
||||
#### HE29f: Heartbeat-family base-status feed
|
||||
|
||||
Hypothesis:
|
||||
|
||||
- The `40` / `C0` / `50` families may be a base camera-status layer rather than
|
||||
mere "wrong" answers, and the panel may want them as a background stream.
|
||||
|
||||
```powershell
|
||||
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 1.0 --frame "00 00 00 00 80 DA" --frame "00 00 40 40 30 6A" --frame "00 00 00 00 80 DA" --frame "00 00 C0 40 30 EA" --frame "00 00 00 00 80 DA" --frame "00 00 50 40 30 7A" --repeat 10 --frame-interval 0.12 --read-after-frame 0.06 --repeat-interval 0.15 --read-after-group 0.20 --log captures/rcp-session-fanout-base-status.txt
|
||||
```
|
||||
|
||||
Watch for:
|
||||
|
||||
- whether this suppresses `CONNECT NOT ACT` more convincingly than plain
|
||||
heartbeat alone
|
||||
- whether any lamp or readout reacts even if selector-space branches do not
|
||||
- whether the panel responds with a recurring non-heartbeat family rather than
|
||||
isolated group-1 bursts
|
||||
|
||||
Recommended order:
|
||||
|
||||
1. `HE29a` discovery carousel
|
||||
2. `HE29d` hybrid `90` select-then-feed
|
||||
3. `HE29c` direct host-shaped family feed
|
||||
4. `HE29f` heartbeat-family base-status feed
|
||||
5. `HE29b` selector carousel
|
||||
6. `HE29e` `AF`-biased sibling-family stream
|
||||
|
||||
Reasoning:
|
||||
|
||||
- `HE29a` and `HE29d` are the two most plausible "real CCU behavior" guesses:
|
||||
periodic readable pages, or page-select plus page-data.
|
||||
- `HE29c` asks whether the panel can be fed camera-state blocks directly.
|
||||
- `HE29f` is the slightly weirder but still useful branch: maybe the
|
||||
heartbeat-adjacent `40/C0/50` families are actually the base layer the panel
|
||||
wants before richer pages make sense.
|
||||
|
||||
### 2026-05-13 HE29 Fan-Out Results
|
||||
|
||||
Front-panel result first:
|
||||
|
||||
- No tested HE29 stream changed the visible panel state in a useful way.
|
||||
- No run produced a new LCD state beyond the previously known inactive
|
||||
behavior, and no lamp/readout change was observed.
|
||||
|
||||
That said, the wire result was not completely dead.
|
||||
|
||||
#### HE29a: Discovery carousel under maintained heartbeat
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-discovery-carousel.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- The sustained `heartbeat -> A0 -> heartbeat -> B0 -> heartbeat -> B5`
|
||||
carousel produced only heartbeat-compatible RX for every group.
|
||||
- None of the older one-shot readable families (`68`, `6C`, `6D`) reopened
|
||||
under this maintained cycle.
|
||||
|
||||
Read:
|
||||
|
||||
- Simple repeated discovery-page polling does **not** look like the missing
|
||||
live session traffic.
|
||||
- It also did not make the one-shot readable surface reusable.
|
||||
|
||||
#### HE29b: Selector carousel under strong `90` context
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-selector-carousel.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- Group 1, `90 -> E8`, produced:
|
||||
- `07 80 FA 50 26 51`
|
||||
- `90 -> E9` and `90 -> EC` in the same cycle then stayed heartbeat-only.
|
||||
- Groups 2-8 were heartbeat-only throughout.
|
||||
|
||||
Read:
|
||||
|
||||
- Repeating selector-page choice in a rotating carousel still does not sustain a
|
||||
richer session.
|
||||
- The stream appears to spend a single selector-family opening and then collapse
|
||||
back into ordinary heartbeat behavior.
|
||||
|
||||
#### HE29c: Direct host-shaped family feed
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-direct-family-feed.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- Group 1, host-shaped `00 00 7A 50 26 56` produced a new RCP family:
|
||||
- `07 80 2F 95 C9 AE`
|
||||
- After that:
|
||||
- host-shaped `7A 28 D3` produced no structured reply
|
||||
- host-shaped `7B 50 26` stayed heartbeat-only
|
||||
- host-shaped `FB 50 26` stayed heartbeat-only
|
||||
- Later groups did not reproduce the `2F 95 C9` family.
|
||||
|
||||
Read:
|
||||
|
||||
- This is the first HE29 branch where a pure host-shaped family feed produced a
|
||||
genuinely new structured response.
|
||||
- It still behaved one-shot and did **not** wake the panel visually.
|
||||
- So direct family feed is not enough to create a live connection, but it does
|
||||
look protocol-meaningful.
|
||||
|
||||
#### HE29d: Hybrid `90` select-then-feed
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-hybrid-90.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- Group 1:
|
||||
- `90 -> E8` produced `07 80 7A 50 26 D1`
|
||||
- immediate host-shaped `7A 50 26` feed produced no next stage
|
||||
- The later `E9` and `EC` portions of the same group stayed heartbeat-only.
|
||||
- Groups 2-8 were heartbeat-only throughout.
|
||||
|
||||
Read:
|
||||
|
||||
- Page-select plus matching host feed still does not turn the selector space
|
||||
into a reusable or "live" stream.
|
||||
- This weakens the idea that the missing session is simply "select page, then
|
||||
send that page's payload."
|
||||
|
||||
#### HE29e: `AF`-biased sibling-family stream
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-hybrid-af.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- Group 1:
|
||||
- `AF -> E8` produced `07 80 7A 50 26 D1`
|
||||
- host-shaped `FA 50 26` feed produced no next stage
|
||||
- The later `AF -> EC` portion stayed heartbeat-only.
|
||||
- Groups 2-8 were heartbeat-only throughout.
|
||||
|
||||
Read:
|
||||
|
||||
- `AF` did not behave like a more realistic camera-data opener in this sustained
|
||||
mixed-stream form.
|
||||
- Even the sibling-family-biased branch still collapsed immediately after the
|
||||
first selector-family burst.
|
||||
|
||||
#### HE29f: Heartbeat-family base-status feed
|
||||
|
||||
Log:
|
||||
|
||||
- `captures/rcp-session-fanout-base-status.txt`
|
||||
|
||||
Result:
|
||||
|
||||
- Group 1, host-shaped `00 00 40 40 30 6A` produced a new RCP family:
|
||||
- `07 80 D0 50 26 7B`
|
||||
- The following host-shaped `C0 40 30` and `50 40 30` frames did not open a new
|
||||
visible stage.
|
||||
- Groups 2-10 were heartbeat-only throughout.
|
||||
|
||||
Read:
|
||||
|
||||
- This is the second HE29 branch that produced a genuinely new structured
|
||||
family.
|
||||
- So the `40` family is still worth taking seriously as more than a pure
|
||||
"wrong" response bucket.
|
||||
- But, like the `2F 95 C9` branch above, it is still one-shot and did not
|
||||
visibly activate the panel.
|
||||
|
||||
### HE29 Overall Read
|
||||
|
||||
What failed:
|
||||
|
||||
- No tested sustained stream woke the panel visually.
|
||||
- No tested stream cleared the broader "not really connected" condition.
|
||||
- No tested stream made the selector surface reusable in a stable way.
|
||||
|
||||
What still matters:
|
||||
|
||||
- Two new structured families appeared when we treated the known response
|
||||
families as host-origin traffic instead of just things to mirror:
|
||||
- `00 00 7A 50 26 56` -> `07 80 2F 95 C9 AE`
|
||||
- `00 00 40 40 30 6A` -> `07 80 D0 50 26 7B`
|
||||
- That strengthens the idea that some of these families are not just passive
|
||||
readback blocks; they can still act as meaningful stimuli from the host side.
|
||||
|
||||
Best current read after HE29:
|
||||
|
||||
- The missing active session still does **not** look like:
|
||||
- plain heartbeat
|
||||
- repeated discovery reads
|
||||
- repeated selector-page reads
|
||||
- naive page-select plus matching host feed
|
||||
- The next smarter branch is probably to stay narrow around the two new
|
||||
host-stimulated response families (`2F 95 C9` and `D0 50 26`) and test
|
||||
whether they represent a deeper camera/base-status layer rather than just more
|
||||
one-shot siblings.
|
||||
|
||||
Reference in New Issue
Block a user