Stage STM32 preference prefixes and checked footers in one atomic image, reject declared tails that encounter premature EOF, and share the typed CLI rollback helper. Use the proven Wio Mini code-layout flags on Wio E5 and Tiny Relay without changing features or memory boundaries. All four STM32 targets and RAK4631 Full pass at the full 1.18.0.1 release version length.
130 lines
4.5 KiB
INI
130 lines
4.5 KiB
INI
[lora_e5]
|
|
extends = stm32_base
|
|
board = lora_e5_dev_board
|
|
board_upload.maximum_size = 229376 ; 32kb for FS
|
|
build_flags = ${stm32_base.build_flags}
|
|
-D RADIO_CLASS=CustomSTM32WLx
|
|
-D WRAPPER_CLASS=CustomSTM32WLxWrapper
|
|
-D LORA_TX_POWER=22
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SPI_INTERFACES_COUNT=0
|
|
-D RX_BOOSTED_GAIN=true
|
|
-D PIN_SERIAL_RX=PB7
|
|
-D PIN_SERIAL_TX=PB6
|
|
-I variants/wio-e5-dev
|
|
build_src_filter = ${stm32_base.build_src_filter}
|
|
+<../variants/wio-e5-dev>
|
|
|
|
[env:wio-e5_repeater]
|
|
extends = lora_e5
|
|
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
|
|
board_upload.maximum_size = 245760 ; 240 KiB app, 16 KiB LittleFS
|
|
build_unflags = -Os
|
|
build_flags = ${lora_e5.build_flags}
|
|
-Oz ; strongest size profile preserves the deployed 16 KiB filesystem boundary
|
|
-flto
|
|
-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 LORA_TX_POWER=22
|
|
-D ADVERT_NAME='"WIO-E5 Repeater"'
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
build_src_filter = ${lora_e5.build_src_filter}
|
|
+<../examples/simple_repeater/*.cpp>
|
|
|
|
[env:wio-e5-repeater_bridge_rs232]
|
|
extends = lora_e5
|
|
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
|
|
board_upload.maximum_size = 245760 ; 240 KiB app, 16 KiB LittleFS
|
|
build_unflags = -Os
|
|
build_flags = ${lora_e5.build_flags}
|
|
-Oz
|
|
-flto
|
|
-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-jump-tables
|
|
-fno-tree-switch-conversion
|
|
-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 MESH_ENABLE_HOST_CLI=0 ; RS232 bridge image cannot also fit the USB/MQTT host service
|
|
-D MESH_ENABLE_RECENT_REPEATERS=1
|
|
-D LORA_TX_POWER=22
|
|
-D ADVERT_NAME='"WIO-E5 Repeater"'
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D FLOOD_PACKET_FILTER_SLOTS=8
|
|
-D FLOOD_CHANNEL_SCOPE_SLOTS=7
|
|
-D ENABLE_HWSERIAL2
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PA3
|
|
-D WITH_RS232_BRIDGE_TX=PA2
|
|
build_src_filter = ${lora_e5.build_src_filter}
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater/*.cpp>
|
|
|
|
[env:wio-e5_companion_radio_usb]
|
|
extends = lora_e5
|
|
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
|
|
build_unflags = -Os
|
|
build_flags = ${lora_e5.build_flags}
|
|
; This headless UART Companion uses ADC, GPIO and SysTick, not PWM/tone.
|
|
; Retain the low-level TIM HAL without unused Arduino timer wrappers.
|
|
-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
|
|
-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 LORA_TX_POWER=22
|
|
-D MAX_CONTACTS=100
|
|
-D MAX_GROUP_CHANNELS=8
|
|
-D ENABLE_USB_INTERFACE
|
|
build_src_filter = ${lora_e5.build_src_filter}
|
|
+<../examples/companion_radio/*.cpp>
|
|
lib_deps = ${lora_e5.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:wio-e5_kiss_modem]
|
|
extends = lora_e5
|
|
build_src_filter = ${lora_e5.build_src_filter}
|
|
+<../examples/kiss_modem/>
|