Skip to content

Commit 7273f09

Browse files
Staacksclaude
andcommitted
lab: write down what the two apps agreed the retry line means
Three decisions the Android and iOS sessions each had to make and had to make the same way: ms times the data phase (so it can be compared with board_check.py rather than being inflated by service discovery), a connection that never came up produces no transfer line (so one failure is one operation), and reason is a short token from a shared vocabulary. None of that was in the contract, and all three are the kind of thing that quietly diverges and makes two reports incomparable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent a85b19c commit 7273f09

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

tools/lab/README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,18 @@ not appear in the scan, check `mpremote connect <port> fs ls` first.
406406
spaces inside a value. `event` is `connect` or `transfer`, `attempts`
407407
counts every attempt INCLUDING the one that worked (so 1 means no
408408
retry), `result` is `ok` or `failed`; `reason`, `bytes` and `ms` are
409-
optional. One line per finished operation, not per attempt. On Android
409+
optional. One line per finished operation, not per attempt.
410+
411+
Three details both apps settled on 2026-08-28, worth keeping in step:
412+
`ms` times the DATA phase - first payload byte to last - so it is
413+
comparable with `board_check.py`'s figure for the same board; timing
414+
from the connection folds in service discovery and makes the app look
415+
twice as slow as a neutral central. A connection that never came up
416+
reports a failed `connect` and NO transfer line, so one failure is not
417+
counted as two operations. And `reason` is a short token from a shared
418+
vocabulary - `timeout`, `crc`, `header`, `discovery` - plus what each
419+
platform can tell apart: `gatt_133` on Android, `refused_<code>` from
420+
CoreBluetooth on iOS. On Android
410421
any log tag will do since the token is in the message; on iOS it has to
411422
reach the app's stdout — `NSLog` or `print`, either is fine, and
412423
**neither reaches the device's syslog**, see below.

0 commit comments

Comments
 (0)