|
| 1 | +<!-- SPDX-License-Identifier: MIT --> |
| 2 | +<!-- Part of PyBLE (https://pyble.dev) — see /LICENSE. --> |
| 3 | + |
| 4 | +# Firmware functional diagram provenance — 2026-09-11 |
| 5 | + |
| 6 | +Original PyBLE functional architecture SVG, updated from the preserved |
| 7 | +v0.6.0 diagram. No vendor artwork and no generated board likeness is included. |
| 8 | +Existing engineering-document styling, selectable text, orthogonal connections, |
| 9 | +and exact profile boundaries are retained. |
| 10 | + |
| 11 | +- Public path: `/features/pyble-firmware-v0.6.1-functional-block-diagram-0d2bb826c64f8.svg`. |
| 12 | +- Dimensions: 1920 × 1470; size: 22,446 bytes. |
| 13 | +- SHA-256: `0d2bb826c64f8ba24f34bc70d2a9ba5750bb77b1a7f6a0998a9baccd0123b768`. |
| 14 | +- Firmware: 0.6.1; source: `c8f549eeabe6d2b8c2766eab022517944bb09c8c`. |
| 15 | +- Release metadata: `/firmware/v0.6.1/release.json`, SHA-256 |
| 16 | + `71f6aca6df07e31a1f54c7f70a48d82c7fe26b1c8ca0626a8ffc57c804fbb1bd`. |
| 17 | +- Publication basis: project-owner qualification confirmation on 2026-09-11, |
| 18 | + recorded at `/firmware-v0.6.1-owner-confirmation.md`. No missing automated |
| 19 | + HIL result is represented as passed. |
| 20 | + |
| 21 | +## Source review |
| 22 | + |
| 23 | +The unchanged PBLE/1 surface is 24 operations and 15 serialized capability keys. |
| 24 | +Actual overlays at `firmware/board_overlays/*/_boot.py` now mount LFS2 through |
| 25 | +`firmware/pyble/pyble_workspace.py`; ESP partition metadata named `data,fat` |
| 26 | +does not establish the mounted filesystem type. |
| 27 | + |
| 28 | +The revised modules correspond to the v0.6.1 amendments in |
| 29 | +`docs/specifications/firmware/specs.md`: FR-BLE-10 (bounded fragments); |
| 30 | +FR-PROTO-2/3/5/7/8/9 (session and command admission); FR-RUN-1/2/9 (fresh globals); |
| 31 | +FR-CON-3 (run-owned input); FR-FS-1/4/7/8/9/14/15 (resume, reserve, mutations); |
| 32 | +FR-BOOT-3/6 (durable settings and non-destructive mount refusal). |
| 33 | +Both native C and portable Python implementations were consulted. |
| 34 | + |
| 35 | +The public protocol snapshot `/reference/firmware-v0.6.1/protocol.md` is |
| 36 | +byte-identical to the protocol specification at the firmware source commit. |
| 37 | +SHA-256: `e88387706bf3705edb0d889fd9870800aa95306d4a17b55398cacbb364fa5c2d`. |
| 38 | +The source commit/tag is not yet available through the public GitHub API, so |
| 39 | +the page links the published release notes/source identity and exact protocol |
| 40 | +snapshot instead of inventing an available GitHub source URL. |
| 41 | + |
| 42 | +## Review and publication boundaries |
| 43 | + |
| 44 | +The SVG's title, description, page alternative text, visible caption, and |
| 45 | +reflowing HTML cover the new behavior. Nonblank or uncertain failed mounts |
| 46 | +require USB recovery without agent startup. Fresh globals do not imply a full |
| 47 | +VM or hardware reset. The diagram does not claim authentication, lossless |
| 48 | +console output, additional opcodes, or new board-specific hardware APIs. |
| 49 | + |
| 50 | +Header/body spacing and the provisioning warning were adjusted for legibility. |
| 51 | +Raw PNG layout renders remain in the ignored local review workspace. |
| 52 | +The SVG has no scripts, embedded rasters, external references, or foreignObject. |
| 53 | +The historical v0.6.0 SVG and its provenance remain unchanged. |
| 54 | + |
| 55 | +This website-only update does not change firmware bytes, the selected Flash |
| 56 | +release, App binaries, or qualification evidence, and performs no hardware tests. |
0 commit comments