The local log
Over Wi-Fi, every read pays a round trip on the network. The local log reverses the logic: the probe reads on its own, at full speed, and the PC reads everything back in one go, afterwards.
Why
Eliott65’s tools make many small reads. Over Wi-Fi, each one costs a network round trip. And some watches are long: on the Eliott65 board, a demo stopped working after a few minutes, which required a connected and attentive PC during all that time.
What the probe does, on its own
- Periodic readings: up to 16 variables of 1, 2 or 4 bytes, read at a fixed interval and stored in a 64 KiB time-stamped ring. A late reading is counted, not caught up.
- A trigger: stop the readings when a value stays unchanged for N readings, or becomes equal to a value (under a mask).
- A snapshot: on triggering, the probe copies up to 4 chosen memory areas (16 KiB in all), to keep the board’s state at the moment of the fault.
- Large blocks: read or write up to 16 KiB of memory per response on the Pico W (60,000 bytes at most in the protocol).
- Batch read-back: the PC then retrieves the readings and the snapshot in a few exchanges.
Taking turns with OpenOCD
OpenOCD keeps in memory the state of the chip’s debug port (select register, current address, chosen core). If a third party touches it during its session, that state becomes wrong with nothing to signal it. So the rule is simple: while OpenOCD is connected to port 4441, the log is paused and refuses accesses (“busy” response). After the session, it redoes the connection to the chip itself (wake-up, line reset, core selection, debug power-up) before resuming.
What is checked
| Where | Result |
|---|---|
| On the PC, against the simulated target | 11 end-to-end tests passed: both cores, 20,000 unaligned bytes, readings at 1 ms, “unchanged” and “equal” triggers with snapshot, exclusion with OpenOCD, small limits, rejected parameters |
| On the board | 10 s reading every 2 ms without error; 256 KiB of SRAM read in 4.7 s, identical to the read by OpenOCD |
The trigger and the snapshot have no reported test against the board yet.
The commands are in How to use it.