Skip to content

Commit 82ed71b

Browse files
committed
[chore] consolidate published v0.6.1 platform for main
Preserve the exact reviewed file tree from PR #32 head 9408778: bf864f7. Condense the 299-commit integration history to satisfy main's rebase-only and linear-history rules without changing any file contents or bypassing CI. The complete specification/red/green history and published firmware source c8f549e remain reachable through archive/pr32-reviewed-9408778. Includes firmware v0.6.1, App lifecycle/privacy updates, reviewed tutorials, the current website and README, and the tested host evidence-writer fix. Owner-confirmed publication remains distinct from incomplete automated HIL. Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
1 parent 2ce0e8c commit 82ed71b

354 files changed

Lines changed: 57744 additions & 2018 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/ci.yml‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,3 +717,47 @@ jobs:
717717
firmware/build/${{ matrix.target }}/bootloader/bootloader.bin
718718
firmware/build/${{ matrix.target }}/partition_table/partition-table.bin
719719
if-no-files-found: error
720+
721+
build-rp2:
722+
# Real, isolated RP2350 Arm build. Both host tools and every selected
723+
# nested source are pinned; no ambient/Homebrew picotool is admitted.
724+
needs: [no-leak, spdx, sha-drift, patches, firmware-host]
725+
runs-on: macos-15
726+
timeout-minutes: 60
727+
steps:
728+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
729+
with:
730+
fetch-depth: 0
731+
- name: Require the reviewed Apple Silicon host
732+
run: |
733+
test "$(uname -s)" = "Darwin"
734+
test "$(uname -m)" = "arm64"
735+
- name: Initialize only the pinned RP2 source graph
736+
run: |
737+
git submodule update --init --depth 1 -- firmware/upstream/micropython
738+
git -C firmware/upstream/micropython submodule update --init --depth 1 -- \
739+
lib/btstack \
740+
lib/cyw43-driver \
741+
lib/lwip \
742+
lib/mbedtls \
743+
lib/micropython-lib \
744+
lib/pico-sdk \
745+
lib/tinyusb
746+
- name: Install pinned ARM GNU toolchain
747+
run: firmware/scripts/install_arm_toolchain.sh
748+
- name: Install pinned official picotool distribution
749+
run: firmware/scripts/install_picotool.sh
750+
- name: Build rpi-pico2-w from retained inputs
751+
run: firmware/scripts/build_rp2.sh rpi-pico2-w
752+
- name: Retain RP2 build and provenance
753+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
754+
with:
755+
name: pyble-rpi-pico2-w
756+
path: |
757+
firmware/build/rpi-pico2-w/firmware.uf2
758+
firmware/build/rpi-pico2-w/firmware.bin
759+
firmware/build/rpi-pico2-w/firmware.elf
760+
firmware/build/rpi-pico2-w/firmware.elf.map
761+
firmware/build/rpi-pico2-w/pyble-build-provenance.json
762+
if-no-files-found: error
763+
retention-days: 14

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ firmware/.esp-idf/
177177
# [arm_gnu_toolchain] by firmware/scripts/install_arm_toolchain.sh (X-13).
178178
firmware/.arm-gnu/
179179
.arm-gnu/
180+
# Official picotool distribution retained from versions.lock [picotool]. Only
181+
# this exact firmware-local install root is excluded; authored lookalikes stay
182+
# visible to source gates and Git.
183+
firmware/.picotool/
180184
# firmware/upstream/micropython/ is now a tracked git submodule (see .gitmodules);
181185
# its working tree is managed by git-submodule, not ignored here.
182186

‎AGENTS.md‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ the project’s conformance and hardware-validation gates.
3131
5. Third-party dependencies remain under their own licenses and must be
3232
recorded in the relevant dependency and notice files.
3333

34-
The pinned, gitignored compiler trees at `firmware/.esp-idf` and
35-
`firmware/.arm-gnu` are third-party build inputs, not shippable source. Source
36-
gates prune those exact roots while continuing to scan similarly named
37-
authored directories.
34+
The pinned, gitignored compiler/tool trees at `firmware/.esp-idf`,
35+
`firmware/.arm-gnu`, and `firmware/.picotool` are third-party build inputs,
36+
not shippable source. Source gates prune those exact roots while continuing to
37+
scan similarly named authored directories.
3838

3939
## Spec-driven and test-driven development
4040

@@ -68,8 +68,11 @@ CHANGELOG.md CITATION.cff AGENTS.md CLAUDE.md .gitignore .gitmodules
6868
```
6969

7070
Put specifications and decisions under `docs/`, scripts under `tools/` or
71-
`firmware/scripts/`, and examples under `examples/`. Keep screenshots, signing
72-
material, builds, assistant state, and local notes out of Git.
71+
`firmware/scripts/`, and examples under `examples/`. Keep raw or unreviewed
72+
screenshots, signing material, builds, assistant state, and local notes out of
73+
Git. A deliberately reviewed, provenance-recorded image used by the public
74+
website may live below `tools/web/public/`; its raw capture must remain in an
75+
ignored workspace.
7376

7477
## Naming
7578

‎CHANGELOG.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ The current compatible app feature set now targets `0.2.0`; build `5` was
1313
handed off through Transporter for TestFlight. This candidate identity improves
1414
test and evidence traceability but does not designate a qualified store release
1515
or claim App Store Connect processing, beta-review approval, or availability.
16+
The next prepared Android open-testing candidate is `0.2.0 (8)`; its bundle
17+
and submission packet do not claim Play submission, approval, or rollout.
1618

1719
### App source
1820

21+
- Added a full offline Privacy policy route from About, with the published
22+
policy, effective date and privacy contact. Reading it preserves the live
23+
board session, editor, Blocks and console state, including at large text
24+
sizes. Advanced the shared app candidate identity to `0.2.0+8`.
1925
- Added Python syntax highlighting and synchronized one-based line numbers to
2026
the editor while retaining the plain-field fallback, offline boundary,
2127
smart-punctuation protection, and safe external-keyboard Tab behavior.
@@ -71,6 +77,10 @@ or claim App Store Connect processing, beta-review approval, or availability.
7177

7278
### Website and repository source
7379

80+
- Prepared Google Play open-testing listing text, reviewer hardware setup,
81+
tester instructions, data-use assessment, and reproducible store artwork
82+
with authentic screenshot provenance. Store availability remains a separate
83+
Console handoff.
7484
- Added a static `/learn` center with ten ordered, accessible tutorials covering
7585
exact five-profile setup, the first BLE program, Files and multi-delete,
7686
pinned public GitHub import, Blocks, the complete 32-example development

0 commit comments

Comments
 (0)