Repository navigation
feat(build): release Wio Tracker L1 BLE and USB companions - #14
Merged
Merged
Conversation
The backup import used the ESP32 PSRAM allocator (heap_caps_*) and 'ota status' read HTTP OTA progress globals that only ESP32Board.cpp defines. Both broke every nRF52 companion build. Use the default ArduinoJson allocator and report 'ota: idle' outside ESP32.
Add WioTrackerL1_companion_radio_ble and _usb to the meshcomod release list so CI builds and publishes them (.uf2 and DFU .zip). This covers the Wio Tracker L1 Pro, which is the same nRF52840 board. Without Wi-Fi these are single-transport: no TCP, SNMP or manifest OTA. The CAD toggle and receive filter are included. The BLE env also joins the PR build check so ESP32-only companion code is caught before merge.
This was referenced Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
WioTrackerL1_companion_radio_bleandWioTrackerL1_companion_radio_usbare added toMESHCOMOD_COMPANION_ENVSinbuild.sh, so the companion release workflow builds and publishes them. This also covers the Wio Tracker L1 Pro, which uses the same nRF52840 + SX1262 board. These are the existing upstream envs, unchanged.WioTrackerL1_companion_radio_bleis added to the PR build check matrix so companion code that only builds on ESP32 is caught before merge.examples/companion_radio/MyMesh.cpp(upstream meshcomod code) that broke every non-ESP32 companion build:uiImportBackup) used the ESP32 PSRAM allocator (heap_caps_*). Other platforms now use ArduinoJson's default allocator.ota statusread the HTTP OTA progress globals that onlyESP32Board.cppdefines (link error). It now reportsota: idleon boards without HTTP OTA.changelog_ev.mdanddocs/CI_RELEASES.mdupdated.Why
The Wio Tracker L1 (Pro) was requested. The nRF52840 has no Wi-Fi, so a
usb_tcpmulti-transport build is not possible. The stock single-transport companions (one image for BLE, one for USB) are what the board can run. TCP, WebSocket, SNMP and manifest OTA are not available on it. The fork's CAD toggle and receive filter are included.How it was tested
sh build.sh build-firmware WioTrackerL1_companion_radio_bleand..._usbbuild locally after rebasing onmain(including feat(companion): add CLI commands for Wi-Fi and BLE MAC addresses #13), producing.uf2and DFU.zipinout/.arm-none-eabi-nmon both images showsCompanionFilter::*,MyMesh::cfilter*andMyMesh::getCADEnabledlinked in; thefilterhelp string and-dmc-filtertag are present.MyMesh.cppchanges only add#ifdef ESP32/#if defined(ESP32)around the existing code, so ESP32 compiles the same code as before. The PR build check covers V3, V4 and V4 TFT touch.Firmware and build impact
.uf2and.zip, not merged.bin.platformio.inihash). If an ESP32 job saves it first, the Wio jobs download the nordicnrf52 platform each run. That costs time only and does not affect results.