Add M6 SRAM mailbox design doc, implementation plan, mark M6 complete

- Protocol design: streaming single-hold NFC transfer, 7 commands
- Implementation plan: 7 tasks for subagent-driven development
- STATUS.md: M6 marked complete, current milestone now M7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
michael
2026-03-05 16:20:52 -08:00
parent 3469944209
commit 43cda8ac3d
3 changed files with 1255 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
# xblink Project Status
**Current Milestone**: M6 — SRAM Mailbox
**Current Milestone**: M7 — Sleep/Wake
**Last Updated**: 2026-03-05
---
@@ -65,12 +65,16 @@
- [x] Write Python serializer tool (`tools/xblk_serialize.py`) for PCSC pattern uploads
- [x] Verified on hardware: self-provisioning writes XBLK, subsequent boots load from EEPROM
### M6: SRAM Mailbox
### M6: SRAM Mailbox (COMPLETE)
- [ ] Implement SRAM read/write (`src/ntag5/sram.rs`)
- [ ] Design command/response protocol
- [ ] Implement MCU-side protocol handler
- [ ] Test pattern update via NFC without power-cycling
- [x] Design SRAM mailbox protocol (`docs/plans/2026-03-05-sram-mailbox-protocol.md`)
- [x] Add NTAG5 `write_register`, SRAM read/write, FD pin configuration
- [x] Implement command protocol types and CRC helpers (`src/ntag5/sram.rs`)
- [x] Implement all 7 command handlers (WRITE_PATTERN, GET_STATUS, SET_ACTIVE, SYNC_START/END, READ_LIBRARY/NEXT)
- [x] Streaming transfer: single NFC hold for full library sync (one pattern per SRAM round-trip)
- [x] FD pin polling in main idle loop (200ms interval, A1/PA04)
- [x] I2C bus swapping for LP5562 reprogramming after pattern updates
- [ ] Hardware test: flash and verify with PCSC reader / phone app (pending FD pin wiring)
## Group C — Power + Recovery