Skip to content

Commit d5d67cc

Browse files
committed
docs: Update CLAUDE.local.md to reflect current Zephyr BLE status.
Mark RP2 Pico W as fully working with all BLE features. Update known issues section to show Issue micropython#6 and micropython#10 as resolved. Add Issue micropython#11 for STM32WB55 spurious disconnect. Signed-off-by: Andrew Leech <[email protected]>
1 parent 8ddfad0 commit d5d67cc

File tree

1 file changed

+32
-20
lines changed

1 file changed

+32
-20
lines changed

CLAUDE.local.md

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,25 @@ mpremote connect /dev/ttyACM* repl
4242

4343
## Current Status
4444

45+
### RP2 Pico W (RP2040) - ✓ Fully Working
46+
- **Zephyr BLE**: All features working, all multitests pass
47+
- ✓ Scanning (36-48 devices per 1.5s scan)
48+
- ✓ Advertising
49+
- ✓ Connections (central and peripheral roles)
50+
- ✓ GATT server (read/write/notify/indicate)
51+
- ✓ GATT client (service discovery, read/write)
52+
- ✓ Soft reset stability (20+ test cycles verified)
53+
4554
### STM32WB55
4655
- **NimBLE**: ✓ Fully working (all features)
47-
- **Zephyr BLE**: ✓ Working (scanning: 69 devices, advertising, peripheral role)
48-
- Known: ~30% device detection vs NimBLE (work queue throughput - acceptable)
49-
- Issue #6: Connection callbacks not firing (under investigation)
50-
51-
### RP2 Pico W (RP2040)
52-
- **Zephyr BLE**: Partially working
53-
- ✓ Device boots, BLE init works
54-
- ✓ Scanning works (36-48 devices per 1.5s scan)
55-
- ✓ Advertising starts successfully
56-
- ✗ Connection callbacks not firing (Issue #6)
57-
- See: `docs/FREERTOS_INTEGRATION.md`
56+
- **Zephyr BLE**: Partial - scanning and advertising work
57+
- ✓ Scanning (69 devices, ~30% vs NimBLE due to work queue throughput)
58+
- ✓ Advertising
59+
- ✗ Connections have spurious disconnect (Issue #11)
5860

5961
### RP2 Pico 2 W (RP2350)
6062
- Fix #8: Net_buf crash FIXED (see `docs/NET_BUF_CRASH_FIX.md`)
61-
- Status: HCI init hang under investigation
63+
- Status: HCI init hang - untested recently
6264

6365
---
6466

@@ -140,17 +142,27 @@ For Zephyr BLE testing, use Pico W (Zephyr) as instance0 and PYBD (NimBLE) as in
140142

141143
## Known Issues
142144

143-
### Issue #6: Connection Callbacks Not Invoked (Zephyr BLE)
144-
- **STM32WB55**: Connection callback fires but spurious disconnect follows immediately
145-
- **RP2 Pico W**: Connection callback never fires (peripheral times out waiting)
146-
- See: `ISSUE_6_FINAL_ANALYSIS.md`, `ISSUE_6_ROOT_CAUSE_SUMMARY.md`
147-
- Status: Still open - scanning works, connections do not
148-
149-
### Issue #9: HCI RX Task Causes Hangs (RP2 Pico W)
145+
### Issue #9: HCI RX Task Causes Hangs (RP2 Pico W) - Low Priority
150146
- HCI RX task disabled; causes hangs during `gap_scan(None)` or `ble.active(False)`
151-
- Polling via soft timer works reliably (36-48 devices per 1.5s scan)
147+
- Polling via soft timer works reliably as workaround
152148
- Root cause: Race condition between HCI RX task and main task during cleanup
153149

150+
### Issue #11: STM32WB55 Spurious Disconnect (Zephyr BLE)
151+
- Connection callback fires but spurious disconnect follows immediately
152+
- See: `docs/ISSUE_11_STM32WB55_SPURIOUS_DISCONNECT.md`
153+
- Status: Open - STM32WB55 Zephyr variant not production-ready
154+
155+
## Resolved Issues
156+
157+
### Issue #6: Connection Callbacks - FIXED (RP2 Pico W)
158+
- Fixed via GATT client implementation and TX context management
159+
- Commit: 2fe8901cec
160+
161+
### Issue #10: Soft Reset Hang - FIXED
162+
- Resource leaks caused hang after 4-5 BLE test cycles
163+
- Fixed: static flags reset, work queue reset, GATT memory freed
164+
- Commit: 1cad43a469
165+
154166
---
155167

156168
## Build Variants

0 commit comments

Comments
 (0)