Commit Graph

41 Commits

Author SHA1 Message Date
MarekZegare4
be6767b0cb Merge remote-tracking branch 'upstream/main' 2026-06-14 09:57:48 +02:00
liamcottle
3b39925399 use single quotes for repo name 2026-06-12 03:20:44 +12:00
liamcottle
c94ed29ca3 add github workflow to close stale issues 2026-06-12 03:18:10 +12:00
MarekZegare4
99a35cade7 fix(ci): strip _companion from solo firmware filenames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 11:02:59 +02:00
MarekZegare4
e83b2f706c fix(ci): search variant subdirs for _solo_dual envs in matrix generation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 10:57:01 +02:00
MarekZegare4
8261c3c364 feat(ci): dynamic solo firmware build workflow, add _solo_dual envs for Wio Tracker L1
- Add build-solo-firmwares.yml: auto-detects all _solo_dual envs from platformio.ini, builds in parallel, publishes uf2 files to draft release
- Remove build-wio-tracker-l1-firmwares.yml (replaced by solo workflow)
- Add WioTrackerL1_companion_solo_dual and WioTrackerL1Eink_companion_solo_dual envs
- Wire build-solo-firmwares command in build.sh using _solo_dual suffix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 10:43:33 +02:00
Jakub
f5b3213f80 Merge upstream/main (v1.16.0) into wio-unified
Merge 254 upstream commits. Highlights relevant to the Wio fork: native
NRF52 companion power-saving (sleep when !hasPendingWork), preamble 16->32
for SF<9, generic sensor-registration model, CMD_SEND_RAW_PACKET, isEink()
display abstraction, KEEP_DISPLAY_ON_USB, contacts-sync/transient fixes.

Conflicts resolved (11 files):
- buzzer.h/.cpp: keep NRF52 include guard + our begin()->startup(); fold in
  upstream doc comment.
- platformio (wio + eink): keep our slim env layout, add upstream kiss_modem
  env (+ debug_tool=stlink on eink ble).
- GxEPDDisplay.h: take upstream isEink() override.
- EnvironmentSensorManager.h: take upstream's wider #if guard.
- DataStore.cpp: take upstream saveContacts(filter) signature, keep our
  ::openWrite (member openWrite would shadow the global 2-arg overload).
- main.cpp: keep our watchdog init + add board.onBootComplete(); adopt
  upstream's `if(!hasPendingWork()) sleep` loop.
- MyMesh.h: version -> v1.16-solo.0, build date 6 Jun 2026.
- MyMesh.cpp: keep both CMD codes (SCREENSHOT 66 + RAW_PACKET 65), both field
  inits, both handlers, our screenshot fns + upstream saveContacts/save_filter,
  upstream hasPendingWork() + our MyMeshBot include.
- UITask.cpp: keep our solo splash/clock page/snprintf/buzzer init; merge
  auto-off (+ opt-in KEEP_DISPLAY_ON_USB); merge low-batt shutdown (our EMA +
  prefs threshold + upstream's !isExternalPowered() guard and eink-aware delay).

Post-merge drift fixes (upstream API/architecture changes, not conflicts):
- applyTxPower(): radio_set_tx_power() removed upstream -> radio_driver.setTxPower().
- Sensor refactor dropped the per-sensor *_initialized flags our
  getAvailableLPPTypes() relied on; removed that override and the SENSORS page
  now derives available LPP types from the populated sensors_lpp buffer.

README kept ours via .gitattributes merge=ours. Builds verified on all 5 Wio
envs (dual, eink dual, radio_ble, dual_dev, eink_dual_dev). Not yet
hardware-verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 17:21:41 +02:00
Scott Powell
07a3ca9e05 Merge branch 'dev'
# Conflicts:
#	docs/faq.md
2026-06-06 21:12:43 +10:00
Jakub
49536cb3a5 Merge remote-tracking branch 'upstream/main' into wio-unified 2026-06-02 22:14:33 +02:00
Jakub
fb700bbaad docs+ci: pre-merge polish — README, doc accuracy, workflow
README:
- Fix typo "offical" → "official"
- File names in Firmware Variants table now match workflow output
  (solo-<version>-oled.uf2 / solo-<version>-eink.uf2)
- Un-comment the E-ink Display section (now fully supported)
- Clock Screen: "sensor values" → "data fields" (covers Batt%, Nodes, Msgs)
- Tools Screen: mention nearby nodes and auto-advert in the highlight
- Promote Screenshot Tool to its own top-level section (was buried under
  Contributing); fix `uv run tools/screenshot.py` invocation path

Docs:
- favourites_dial: document the 3rd pin-picker tier (all chat contacts
  fallback) added in 0e0e5b93
- clock_screen: Altitude source clarified — onboard sensor (GPS or
  barometric), not always GPS
- message_screen: blank lines around image tables that were inlined

Code:
- UITask.cpp: rename leftover plus_y/plus_label locals to solo_y/solo_label
  in the splash-screen Solo banner

Workflow:
- workflow_dispatch builds previously labelled firmware with the branch
  name (GITHUB_REF_NAME). Resolve BUILD_VERSION to the tag when run on a
  tag push, else dev-<short-sha> so manual runs produce
  solo-dev-abc1234-oled.uf2 etc.

Cleanup:
- remove stray docs/solo_features/settings_screen/set_scr_1_eink copy.png

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:46:29 +02:00
Jakub
c7009140ce refactor: rename firmware from Plus to Solo
- FIRMWARE_VERSION: v1.15-plus.1 → v1.15-solo.1
- FIRMWARE_PLUS_BUILD → FIRMWARE_SOLO_BUILD in all platformio.ini and UITask.cpp
- docs/plus_features/ → docs/solo_features/ (all sub-docs moved)
- README: update all doc links plus new Documentation section
- GitHub Actions: extract GIT_TAG_VERSION in each build job (was missing,
  causing empty FIRMWARE_VERSION in builds); rename output files to
  solo-VERSION-oled.uf2 / solo-VERSION-eink.uf2; release title → "Solo VERSION"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 12:25:34 +02:00
Sefinek
c67548347c ci: pin peaceiris/actions-gh-pages to v4.1.0 for Node.js 24 support 2026-05-28 16:10:46 +02:00
Sefinek
bbd37f53a8 ci: update GitHub Actions and Python version, fix ruby-version typo 2026-05-28 16:01:59 +02:00
Jakub
3a08eedfec fix(ci): fix double-v in version for v* style tags
setup-build-environment was using v${TAG#*-v} which prepended an extra
"v" when the tag already starts with "v" (e.g. v1.11 -> vv1.11).
Now uses the tag name directly for v* tags; strips name-v prefix only
for compound tags like room-server-v1.2.3.

Remove redundant Extract Version steps from the wio firmware workflow
since setup-build-environment already handles this.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 00:50:10 +02:00
Jakub
34fcab6bd5 feat(ui): show MeshCore version large and plus version in splash bar
Add MESHCORE_VERSION build flag ("1.15") to companion base configs.
Splash screen now shows MESHCORE_VERSION in the large text and the
plus firmware version (stripped of commit hash) in the Plus bar,
e.g. "1.15" large + "Plus v1.11 for Wio" below.

Change CI tag pattern to v* and simplify version extraction so tag
v1.11 maps directly to FIRMWARE_VERSION=v1.11.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 00:35:07 +02:00
Jakub
62cae314f7 ci: change tag pattern to plus_* and fix version extraction
Trigger workflow on tags matching plus_* instead of wio-tracker-v*.
Extract version as v<x.y> from plus_<x.y> tag format.
Also update firmware filenames in README to match renamed env names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 00:18:31 +02:00
Jakub
137b0234d5 ci: rename dual envs and fix tag-triggered builds for OLED and e-ink
Rename WioTrackerL1_companion_radio_dual_settings → WioTrackerL1_companion_dual
and WioTrackerL1Eink_companion_radio_dual → WioTrackerL1Eink_companion_dual.

Fix CI workflow: remove hardcoded branch refs so both build jobs check out
the tagged commit; add version extraction to each build job (previously
GIT_TAG_VERSION was only set in the release job, leaving FIRMWARE_VERSION
empty during builds); update build commands to use new env names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 00:13:34 +02:00
Jakub
7519740d72 ci: build dual OLED and dual e-ink firmwares in parallel
Split the single build job into two independent jobs:
- build-oled: checks out wio-tracker-l1-improvements, builds WioTrackerL1_companion_radio_dual_settings
- build-eink: checks out eink-ui, builds WioTrackerL1Eink_companion_radio_dual

Both artifacts are merged into a single draft release.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 23:20:06 +02:00
Jakub
67bccd3dd4 ci: merge font-switcher build into single wio-tracker-l1 firmware job
Font-switcher is now part of wio-tracker-l1-improvements, so there is
no longer a separate branch to check out. Drop the build-font-switcher
job and its download step in release; a single build produces the
combined dual-BLE/USB + font-switcher firmware.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 09:47:32 +02:00
Jakub
f289252da5 ci: opt into Node.js 24 for all GitHub Actions workflows
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 10:03:15 +02:00
Jakub
e9b38fc559 ci: replace lemon-font build with font-switcher build
Build firmware from the font-switcher branch instead of font-lemon.
The font-switcher build includes both Adafruit and Lemon fonts in one
binary with a runtime toggle in Settings > Display.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 09:42:09 +02:00
Jakub
469b03ddf4 ci: update branch reference from font-experiments to font-lemon
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 13:56:25 +02:00
Jakub
d9d4315c5d ci: build lemon-font firmware alongside standard on wio-tracker-v* tags
Add build-lemon-font job that checks out the font-experiments branch and
builds with FIRMWARE_VERSION suffixed with -lemon-font, producing files
like WioTrackerL1_*-v1.15-plus.1.7-lemon-font-SHA.uf2. A separate
release job collects artifacts from both builds into one draft release.
Tag pattern narrowed from wio-tracker-* to wio-tracker-v* to avoid
triggering on wio-tracker-lemon-* tags.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 10:44:25 +02:00
Jakub
a819b05ed0 fix: correct UF2 artifact name for wio-tracker tags with hyphenated versions
##*- strips to the last hyphen, so wio-tracker-v1.15-plus.1.3 yielded
"plus.1.3" instead of "v1.15-plus.1.3". Switch to #*-v (shortest prefix
ending with -v) which preserves hyphens inside the version string.

Also remove the -Plus suffix appended in build_wio_tracker_l1_firmwares()
since the version scheme already encodes "plus" in the tag/version string,
making the suffix redundant and producing doubled output like "plus.1.3-Plus".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 15:24:54 +02:00
Jakub
c90d6a9d3f CI: upload only .uf2 to WioTracker L1 release (drop redundant DFU .zip)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 21:09:47 +02:00
Jakub
639183d101 ci: add Wio Tracker L1 firmware build and release workflow
Builds and releases only the _settings companion firmware variants
(USB and BLE) which contain the settings screen with display brightness,
buzzer, TX power, auto-off, GPS interval, timezone, low battery threshold,
and battery display mode.

Triggers on tags matching 'wio-tracker-*' (e.g. wio-tracker-v1.0.0)
or manually via workflow_dispatch. Creates a draft GitHub release.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 21:09:46 +02:00
Liam Cottle
528bf3f61e add FUNDING.yml 2026-04-26 00:24:40 +12:00
Michael Lynch
5e03c00397 Add unit tests for Utils::toHex 2026-04-24 19:37:21 +00:00
Liam Cottle
bdae60498c Merge pull request #2016 from weebl2000/add-lr1110-sx1276
Add sanity build for LR1110 and SX1276 too
2026-04-22 19:30:12 +12:00
Wessel Nieboer
c0252ab82c Add sanity build for LR1110 and SX1276 too 2026-04-04 13:18:15 +02:00
liamcottle
2f6046d7ba update docs cname 2026-03-24 15:38:15 +13:00
Wessel Nieboer
bcfe001370 Have our github PR sanity check also run against main and dev for every merge
This will pick up any easy to spot build failures on dev/main
2026-03-11 16:51:09 +01:00
Scott Powell
9f1a3eafcc Merge branch 'dev'
# Conflicts:
#	docs/cli_commands.md
2026-03-06 12:21:52 +11:00
Wessel Nieboer
15cce12efd Add basic sanity test github PR workflow
Build a few generic variants to verify at least those compile. Can't
hurt.
2026-02-25 02:43:48 +01:00
liamcottle
85aa052e1f only deploy docs from main branch 2026-02-08 13:01:13 +13:00
liamcottle
6564bbd58e migrate docs build script so cname survives 2026-02-08 13:00:59 +13:00
liamcottle
706b5a39c6 allow manual deploy 2026-01-28 21:48:39 +13:00
liamcottle
c35c1961de add docs branch for testing 2026-01-28 21:48:39 +13:00
liamcottle
132c8961e8 add workflow to build and deploy docs to github pages 2026-01-28 21:48:39 +13:00
Scott Powell
45a88dca3d * .yml files, permissions: write 2025-03-05 19:48:52 +11:00
liamcottle
13bc6e4178 setup automated firmware builds with github actions 2025-03-03 17:58:15 +13:00