docs: record T1000 USB-priority hardware checks

This commit is contained in:
mikecarper committed 2026-10-20 07:58:47 -07:00
1 parent 0fc7f377aa
commit c48e679284
2 files changed
+157

No files matched your search

@@ -0,0 +1,50 @@
<!-- meshcore-hosted-doc-link:start -->
<p class="meshcore-hosted-doc-link"><a href="https://mikecarper.github.io/MeshCore/test-results/t1000_usb_bluetooth_priority_2026-10-20/">View this page on MeshCore Docs</a>.</p>
<!-- meshcore-hosted-doc-link:end -->
# T1000-E USB priority, 20 October 2026
Source: `ac0daf3cef31a13163d469c1fd538c06708fe05a`.
T1000-E Companions now stop Bluetooth advertising and disconnect the Bluetooth
client whenever a USB data host is enumerated. This implements the requested
USB-priority policy after the [simultaneous USB/BLE investigation](companion_qualification_f807_followup_2026-10-19.md)
did not establish a reliable coexistence fix.
USB priority does not depend on an open serial application or DTR. A charge-only
supply does not acquire priority. Bluetooth is requested again after the data
host has been absent for 500 ms, preserving manual-off and wireless controls.
The policy does not change saved preferences, pairing credentials or identity.
It applies to the T1000-E Bluetooth and Full Companion recipes.
| Check | Result |
| --- | --- |
| Full Companion build, capability markers, runtime RAM and application-only image bounds | PASS |
| Bluetooth Companion build, capability markers and application-only image bounds | PASS |
| Priority, startup/wake, manual controls, reply routes, bus-reset hold and timer wrap | Six host tests PASS |
| Existing Bluetooth preference/CLI and wireless control tests | Eleven host tests PASS |
| nRF52 BLE regressions, including late connect after disable | 42 tests OK; eight emulator-dependent tests skipped |
| Contact-stream concurrency | Two host tests PASS |
| Hosted documentation links | Seven Python tests and JavaScript checks PASS |
| Install Full on the exact Pi-connected T1000-E | PASS; application only, identity unchanged |
| USB runtime and saved on/off commands while paused | PASS; status reports `bluetooth off (USB data connected)` |
| Saved on during USB priority | PASS; command acknowledges saved on while remaining paused |
| Twenty-second BLE scan with USB enumerated and serial handles closed | Zero target events among 100 scan callbacks |
| Post-test USB readback | PASS; same identity/version, zero core flags, zero recorded crashes |
| Physical unplug, BLE recovery and reconnect qualification on this build | Pending user unplug |
| USB insertion during an established BLE session | Host regression covered; hardware check pending |
| Charge-only and cold-boot behavior on this build | Host policy covered; hardware checks pending |
The installed version is
`v1.18.0.1-halo-keymind-cascade-dev-ac0daf3c (Build: 20-Oct-2026)`.
Its application ZIP SHA-256 is
`64e09ff2eb8b5e3228f656c7ea99b000c053736b8a020b7eab1429b4d00ab43f`.
The bootloader and SoftDevice were not changed. All opened USB ports were
closed, with no framing rejects in the recorded runtime checks. The original
saved-on Bluetooth choice was restored after the temporary on/off test.
This verifies USB-priority behavior, not simultaneous active USB/BLE, complete
T1000-E feature qualification or qualification of the other campaign boards.
Historical battery and wall-power passes belong to their original builds.
[Safe evidence summary](t1000_usb_bluetooth_priority_2026-10-20.safe.json)
records the current source and artifact bindings.
@@ -0,0 +1,107 @@
{
"schema": 1,
"source_commit": "ac0daf3cef31a13163d469c1fd538c06708fe05a",
"installed_version": "v1.18.0.1-halo-keymind-cascade-dev-ac0daf3c (Build: 20-Oct-2026)",
"application_zip_sha256": "64e09ff2eb8b5e3228f656c7ea99b000c053736b8a020b7eab1429b4d00ab43f",
"capabilities_sha256": "c49a92cb5626f7c871c50de1debb74cca2a482d04949443c2e7d489d03c1d018",
"source_modified": false,
"policy_scope": "T1000-E Bluetooth and Full Companions only; enumerated USB host priority",
"simultaneous_usb_ble_qualified": false,
"full_feature_qualified": false,
"installation": {
"passed": true,
"application_only": true,
"bootloader_or_softdevice_changed": false,
"public_identity_unchanged": true
},
"usb_priority": {
"source_commit": "ac0daf3cef31a13163d469c1fd538c06708fe05a",
"artifact_sha256": "64e09ff2eb8b5e3228f656c7ea99b000c053736b8a020b7eab1429b4d00ab43f",
"usb_replies": [
{
"command": "get bluetooth",
"reply": "bluetooth off (USB data connected)"
},
{
"command": "set bluetooth on",
"reply": "OK - Bluetooth on (saved); paused while USB data is connected"
},
{
"command": "get bluetooth",
"reply": "bluetooth off (USB data connected)"
},
{
"command": "set bluetooth off",
"reply": "OK - Bluetooth already off (saved)"
},
{
"command": "get bluetooth",
"reply": "bluetooth off (USB data connected)"
},
{
"command": "set bluetooth on",
"reply": "OK - Bluetooth on (saved); paused while USB data is connected"
},
{
"command": "get bluetooth",
"reply": "bluetooth off (USB data connected)"
}
],
"serial_closed_during_scan": true,
"scan": {
"seconds": 20,
"target_events": 0,
"all_events": 100
},
"transport": {
"ports_opened": 1,
"ports_closed": 1,
"request_frames_sent": 14,
"response_frames_received": 15,
"request_bytes_sent": 280,
"response_payload_bytes": 713,
"discarded_prefix_bytes": 0,
"invalid_length_candidates": 0,
"ignored_push_frames": 1
},
"after": {
"version": "v1.18.0.1-halo-keymind-cascade-dev-ac0daf3c (Build: 20-Oct-2026)",
"core": {
"battery_mv": 4195,
"uptime_seconds": 84,
"error_flags": 0,
"outbound_queue_length": 0
},
"mcu_regulator": "> auto; active dcdc; fallback off; crashes 0; recovery on",
"public_identity_sha256": "8fc05b145d174bfbebe27978ed580c49bee90b3c1e2d3678108bfc30c38980d9",
"transport": {
"ports_opened": 1,
"ports_closed": 1,
"request_frames_sent": 5,
"response_frames_received": 5,
"request_bytes_sent": 77,
"response_payload_bytes": 288,
"discarded_prefix_bytes": 0,
"invalid_length_candidates": 0,
"ignored_push_frames": 0
}
},
"passed": true
},
"remaining_hardware_checks": [
"physical_unplug_ble_recovery",
"usb_insertion_during_connected_ble",
"charge_only",
"cold_boot"
],
"evidence_sha256": {
"usb-priority-usb.safe.json": "a369e9e3f586b3d63d9ea2601594a8ae7566efd3d2cbfd124e7e0ba9b936975c",
"usb-priority-install.safe.json": "5c434448f7a926eca903c22a561b296c176c5e69d472d99ee7c70341a3a64930",
"usb-priority-head-build.private.log": "e6fbcee54674eaed9a307d931d34cd51fe4926fb90ec8350a3330efe5bb9db22",
"usb-priority-ble-build.private.log": "688f406e7bfcf481768dc477232e7c1580333a80afd98afa3866d8bdfa9e5fb5"
},
"privacy": {
"raw_usb_or_ble_addresses": false,
"device_secrets_or_payloads": false
}
}