Repository navigation
feat(build): release thirteen more nRF52 companion boards - #23
Merged
Merged
Conversation
disable_debug_flags() passed -UCFG_DEBUG. The Adafruit nRF52 core reads CFG_DEBUG unconditionally (cores/nRF5/rtos.cpp), and the platform builder only adds its CFG_DEBUG=0 default when the flags don't mention the macro, so every nRF52 build with DISABLE_DEBUG=1 failed with "'CFG_DEBUG' was not declared". Pass -DCFG_DEBUG=0 instead, which is the quiet setting the builder would have used. Built with DISABLE_DEBUG=1: LilyGo_T-Echo_companion_radio_ble, WioTrackerL1_companion_radio_usb (both failed before) and heltec_v4_companion_radio_usb_tcp (same size as before).
The C6 envs use pioarduino (Arduino core 3.x) through esp32c6_base but
inherited h2zero/NimBLE-Arduino 1.4.3 from esp32_base, which only builds
against core 2.x ("syscfg/syscfg.h: No such file"). Every C6 companion
failed to compile.
esp32c6_base now pulls NimBLE-Arduino 2.3.9. SerialBLEInterface keeps
its behaviour but implements both callback APIs: the bodies move into
shared helpers and thin overrides match each version's signatures
(NimBLEConnInfo, onPassKeyDisplay, onConfirmPassKey with
injectConfirmPasskey, enableScanResponse). The version is picked with
__has_include(<NimBLEAdvertisementData.h>), which only 2.x ships. Core
3.x moved esp_efuse_mac_get_default to esp_mac.h, so include it when
present.
Built: Xiao_C6, Meshimi, WHY2025_badge and LilyGo_Tlora_C6 BLE
companions, M5Stack_Unit_C6L BLE and USB, Xiao_C6_repeater_ (all failed
or untested before). The S3 boards stay on 1.4.3:
heltec_v4_companion_radio_ble and _usb_tcp build, the latter +136 B
from the helper indirection. Not tested on hardware.
After #16, #17 and #18: - README: the multi-transport claim only holds for the Wi-Fi boards; add how to flash the nRF52 boards (.uf2, DFU .zip); describe nRF52 build outputs and warn that DISABLE_DEBUG=1 breaks nRF52 builds. - CAD toggle doc: the per-UI board examples now name the released boards (ui-new on the display usb_tcp boards, Wio Tracker L1 and T-Echo; ui-tiny on the T-Echo Card; ui-orig on the ThinkNode M7). - Changelog: tag the Unreleased entries with the PR that landed them.
Add the existing upstream BLE and USB companion envs for the LilyGo T-Echo Lite (with and without shell), RAK4631, RAK3401, Seeed SenseCAP T1000-E, Heltec T114, T1, T096 and MeshPocket, Elecrow ThinkNode M1 and M8, B&Q Nano G2 Ultra, the nRF52840 Pro Micro DIY board and Keepteen LT1 to MESHCOMOD_COMPANION_ENVS: 28 envs, each a .uf2 plus DFU .zip. Like the Wio Tracker L1 and T-Echo these are single-transport (no Wi-Fi), with the receive filter and CAD toggle built in. All 28 build with build.sh (flash 47.0% to 69.0% of 712,704 B; RAK4631 BLE is the largest). README device table, CI releases, CAD doc and changelog updated. Not tested on hardware. The companion release matrix grows from 31 to 59 runners.
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
Add 28 existing upstream nRF52840 companion envs (BLE + USB for 13 boards, plus the T-Echo Lite's no-shell variant) to
MESHCOMOD_COMPANION_ENVS:LilyGo T-Echo Lite (with and without shell), RAK4631, RAK3401, Seeed SenseCAP T1000-E, Heltec T114, T1, T096 and MeshPocket, Elecrow ThinkNode M1 and M8, B&Q Nano G2 Ultra, nRF52840 Pro Micro (DIY) and Keepteen LT1.
README device table and feature row,
docs/CI_RELEASES.md,docs/companion_cad_toggle.mdandchangelog_ev.mdupdated.Why
These are the ui-new and ui-orig nRF52 boards from the upstream companion env survey. Like the Wio Tracker L1 (#14) and T-Echo (#16), they have no Wi-Fi, so they ship the stock single-transport companions (
.uf2+ DFU.zip) with the receive filter and CAD toggle built in. The T1000-E uses ui-orig (CAD shown read-only on device, toggled from the app). The others use ui-new with the CAD page.Testing
All 28 built with
build.sh build-firmware(noDISABLE_DEBUG). Flash is out of 712,704 B (708,608 B on the T1000-E):LilyGo_T-Echo-Lite_companion_radio_bleLilyGo_T-Echo-Lite_companion_radio_usbLilyGo_T-Echo-Lite_non_shell_companion_radio_bleLilyGo_T-Echo-Lite_non_shell_companion_radio_usbRAK_4631_companion_radio_bleRAK_4631_companion_radio_usbt1000e_companion_radio_blet1000e_companion_radio_usbHeltec_t114_companion_radio_bleHeltec_t114_companion_radio_usbThinkNode_M1_companion_radio_bleThinkNode_M1_companion_radio_usbThinkNode_M8_companion_radio_bleThinkNode_M8_companion_radio_usbMesh_pocket_companion_radio_bleMesh_pocket_companion_radio_usbNano_G2_Ultra_companion_radio_bleNano_G2_Ultra_companion_radio_usbHeltec_t1_companion_radio_bleHeltec_t1_companion_radio_usbHeltec_t096_companion_radio_bleHeltec_t096_companion_radio_usbRAK_3401_companion_radio_bleRAK_3401_companion_radio_usbProMicro_companion_radio_bleProMicro_companion_radio_usbKeepteenLT1_companion_radio_bleKeepteenLT1_companion_radio_usbNot tested on hardware.
Firmware and build impact
28 new release artifacts. The companion release matrix runs one runner per env, so a release grows from 31 to 59 runners. Trim the list in
build.shif that is too many.Merge order
Stacked on #20, #22 and #19 to avoid changelog conflicts. Merge those first; GitHub then shows only this PR's commit.