Files
MeshCore/variants/tiny_relay/platformio.ini
T
mikecarper b0c49a4cc3 Fit STM32 release images and repair stale CI fixtures
Fix the STM32 flash overflows and fleet fixture compile failure from
https://github.com/mikecarper/MeshCore/actions/runs/40241742182.

Fold already-unsupported RX control paths only for the integrated STM32WL
wrapper. Preserve RXPS-off validation, persistence, pending application and
rollback. External radios retain their supported controls.

Use measured GCC 14 code sharing in the four small STM32 USB Companion
recipes. Keep firmware features, contact/channel capacities, filesystem
boundaries and flash/RAM admission checks unchanged.

Refresh downstream host fixtures for saved radio intent, deferred service
restarts, WebConfig ownership, RX recovery and color tint state. Retain or
strengthen behavior checks rather than skipping failing coverage.

Validation: canonical RAK3x72, Wio Mini, Wio Dev and Tiny Relay USB Companion
packages and Mini Repeater build passed at release-version length. All
post-failure host checks, compact arithmetic/float checks, build-profile and
real PlatformIO recipe/path/RAM-policy checks passed locally.
2026-10-25 22:00:24 -07:00

114 lines
3.9 KiB
INI

[Tiny_Relay]
extends = stm32_base
board = tiny_relay
board_upload.maximum_size = 229376 ; 32kb for FS
build_flags = ${stm32_base.build_flags}
-D RADIO_CLASS=CustomSTM32WLx
-D WRAPPER_CLASS=CustomSTM32WLxWrapper
-D SPI_INTERFACES_COUNT=0
-D RX_BOOSTED_GAIN=true
; -D STM32WL_TCXO_VOLTAGE=1.6 ; defaults to 0 if undef
; -D LORA_TX_POWER=14 ; Defaults to 22 for HP, 14 is for LP version
-D LORA_TX_POWER=22 ; Enable 22dBm transmission
-D MAX_LORA_TX_POWER=22 ; Allow setting up to 22dBm in companion radio
-I variants/tiny_relay
build_src_filter = ${stm32_base.build_src_filter}
+<../variants/tiny_relay>
[env:Tiny_Relay_repeater]
extends = Tiny_Relay
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
board_upload.maximum_size = 245760 ; 240 KiB app, 16 KiB LittleFS
build_unflags = -Os
build_flags = ${Tiny_Relay.build_flags}
-Oz ; strongest size profile preserves the deployed 16 KiB filesystem boundary
-flto ; retain headroom for current repeater safety features
-fno-inline-small-functions ; reduce flash without moving the deployed filesystem boundary
-fipa-pta
-fmerge-all-constants
-fno-ipa-cp-clone
-fno-partial-inlining
-fno-semantic-interposition
-fno-unwind-tables
-fno-asynchronous-unwind-tables
-fno-schedule-insns2
-Wl,--sort-section=alignment
-D LFS_FLASH_TOTAL_SIZE=16384
-D MESH_ENABLE_CLOCK_SYNC=0 ; preserve the 16 KiB filesystem on this 256 KiB part
-D MESH_ENABLE_FLOOD_GROUP_MODERATION=0 ; keep core routing and radio scheduling in flash
-D MESH_PACKET_LOGGING_COMPACT=1 ; retain complete RX/TX bytes without the duplicate parsed RX line
-D ADVERT_NAME='"Tiny Relay"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D MAX_NEIGHBOURS=50
build_src_filter = ${Tiny_Relay.build_src_filter}
+<../examples/simple_repeater>
[env:Tiny_Relay_sensor]
extends = Tiny_Relay
build_unflags = -Os
build_flags = ${Tiny_Relay.build_flags}
-Oz
-flto
-fno-inline-small-functions
-fipa-pta
-fmerge-all-constants
-fno-ipa-cp-clone
-fno-partial-inlining
-fno-semantic-interposition
-fno-unwind-tables
-fno-asynchronous-unwind-tables
-D ADVERT_NAME='"tiny_relay Sensor"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D MAX_NEIGHBOURS=50
build_src_filter = ${Tiny_Relay.build_src_filter}
+<../examples/simple_sensor>
[env:Tiny_Relay_companion_radio_usb]
extends = Tiny_Relay
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
build_unflags = -Os
build_flags = ${Tiny_Relay.build_flags}
; GPIO relay controls and ADC monitoring do not use PWM/tone timers.
-D RADIOLIB_TONE_UNSUPPORTED
-D HAL_TIM_MODULE_ONLY
-D ED25519_COMPACT_SHA512=1 ; same hash rounds, compact loop preserves the filesystem boundary
-D ED25519_COMPACT_SCALAR=1 ; equivalent fixed-loop arithmetic preserves Companion capacities
-D ED25519_COMPACT_FIELD=1 ; share field products without moving the filesystem boundary
-Oz
-flto
-fno-inline-small-functions
-fno-tree-dominator-opts ; preserve Companion features and the 32 KiB filesystem
; Match the compact Wio Mini code layout with the complete CLI retained.
-fno-reorder-blocks
-fno-reorder-functions
-fno-caller-saves
-fno-guess-branch-probability
--param=max-crossjump-edges=1000 ; share repeated CLI tails without cutting features or storage
-fipa-pta
-fmerge-all-constants
-fno-ipa-cp-clone
-fno-partial-inlining
-fno-semantic-interposition
-fno-unwind-tables
-fno-asynchronous-unwind-tables
-fno-schedule-insns2
-Wl,--sort-section=alignment
; -D FORMAT_FS=true
-D MAX_CONTACTS=100
-D MAX_GROUP_CHANNELS=8
-D MAX_LORA_TX_POWER=22
-D ENABLE_USB_INTERFACE
build_src_filter = ${Tiny_Relay.build_src_filter}
+<../examples/companion_radio/*.cpp>
lib_deps = ${Tiny_Relay.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Tiny_Relay_kiss_modem]
extends = Tiny_Relay
build_src_filter = ${Tiny_Relay.build_src_filter}
+<../examples/kiss_modem/>