Skip to content

Stop the Test tab claiming USB-C can measure a link - #89

Merged
marknolan merged 1 commit into
mainfrom
throughput_copy_links
Sep 18, 2026
Merged

marknolan merged 1 commit into
mainfrom
throughput_copy_links

Conversation

@marknolan

Copy link
Copy Markdown
Member

Disconnected, the Test tab said this twice and disagreed with itself:

banner: Connect over BLE, Classic Bluetooth or USB-C to measure the link, run the sensor's built-in self-test, or watch its clock drift against this host.

throughput card, an inch below: Connect over BLE or Classic Bluetooth to measure the link.

The card is the one that was right. The USB-C connection speaks the dock
protocol, whose command set has no data-rate test, so it is the single link that
cannot measure anything — verify.mjs already asserts that gap directly:
WiredShimmerClient carries no runDataRateTest where Shimmer3RClient does.

What changed

The banner offers only what all three links can do, and the card keeps the
restriction — it is card-specific and was already written there. One statement
each, no contradiction, and the duplication goes with it.

The card no longer promises BLE. It now asks to connect over Bluetooth,
"BLE or Classic, whichever radio this sensor carries". The RN42 Shimmer3 fleet
has no BLE radio at all, so naming BLE is advice a classic-only sensor cannot
follow; the SDK's own platformSupport.ts is careful about exactly this, for
exactly this reason.

The hint under the button explained host-to-host variance in BLE terms only
("BLE negotiates its connection interval with the host's own Bluetooth stack").
It now gives the Classic Bluetooth half too, and states the USB-C fact in the
place a reader is already looking.

The button's tooltip repeated the hint in different words — "connection
interval and MTU on BLE, buffering on Classic Bluetooth" — so it now carries
only what the hint does not: the pipe, not the file-transfer protocol on top of
it.

README: the link table had no throughput column at all, so a reader checking
what USB-C can do would not have found the answer where the table promised it.
It has one now (yes / yes / no), with a footnote on why it is
Bluetooth-only and which Shimmer models carry which radio.

Verification

Two harness checks pinned the old strings, so they move with them — each now
asserting the substance rather than the sentence:

  • the card note must name Bluetooth, say which radio, and give the dock's reason
  • the banner must not say "measure" at all

Full pass green against headless Chrome: 293/293, including
disconnected it is refused with a reason, and the dock link genuinely cannot run it — Connect over Bluetooth to measure a link — BLE or Classic, whichever radio this sensor carries. The USB-C connection speaks the dock protocol, which has no data-rate test in it.

Follows #87, which renamed the test but left this copy alone.

🤖 Generated with Claude Code

Disconnected, the tab banner said "Connect over BLE, Classic Bluetooth or
USB-C to measure the link, run the sensor's built-in self-test, or watch
its clock drift" while the throughput card an inch below it said "Connect
over BLE or Classic Bluetooth to measure the link". Two sentences saying
connect, in the same breath, and they disagreed: the USB-C connection
speaks the dock protocol, whose command set has no data-rate test, so it
is the one link that cannot measure anything. verify.mjs asserts that gap
directly - WiredShimmerClient carries no runDataRateTest where
Shimmer3RClient does.

The banner now offers only what all three links can do, and the card
keeps the restriction, which is card-specific and was already written
there. One statement each, no contradiction.

The card's wording no longer promises BLE either. It asks to connect over
Bluetooth, "BLE or Classic, whichever radio this sensor carries" - the
RN42 Shimmer3 fleet has no BLE radio at all, so naming BLE is advice a
classic-only sensor cannot follow, and the SDK's own platformSupport.ts
is careful about this for the same reason. The hint under the button gets
the same treatment: it explained host-to-host variance in BLE terms only,
and now gives the Classic Bluetooth half too, plus the USB-C fact in the
one place a reader is already looking.

The button's tooltip repeated the hint's explanation in different words -
"connection interval and MTU on BLE, buffering on Classic Bluetooth" -
so it now carries only what the hint does not: the pipe, not the
file-transfer protocol on top of it.

Two harness checks pinned the old strings, so they move with them, each
now asserting the substance rather than the sentence: the card note must
name Bluetooth, say which radio, and give the dock's reason; the banner
must not say "measure" at all. Full pass green: 293/293.

README: the link table had no throughput column, so a reader checking
what USB-C can do would not have found the answer there. It has one now,
with a footnote on why it is Bluetooth-only and which Shimmer models
carry which radio.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@marknolan
marknolan merged commit 0cd2cf6 into main Sep 18, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant