Files
MeshCore/variants/wio-e5-mini/platformio.ini

116 lines
4.0 KiB
INI

[lora_e5_mini]
extends = stm32_base
board = lora_e5_mini
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 LORA_TX_POWER=22
-D SX126X_CURRENT_LIMIT=140
-D P_LORA_TX_LED=LED_RED
-D PIN_USER_BTN=USER_BTN
-I variants/wio-e5-mini
build_src_filter = ${stm32_base.build_src_filter}
+<../variants/wio-e5-mini>
lib_deps = ${stm32_base.lib_deps}
finitespace/BME280 @ ^3.0.0
[env:wio-e5-mini_repeater]
extends = lora_e5_mini
board_upload.maximum_size = 245760 ; 240 KiB app, 16 KiB LittleFS
; GCC 14.2 emits a materially smaller LTO image than the platform's GCC 12
; default, preserving the deployed filesystem boundary without cutting roles.
platform_packages =
platformio/toolchain-gccarmnoneeabi@^1.140201.0
build_unflags = -Os
build_flags = ${lora_e5_mini.build_flags}
-Oz ; GCC 12's 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 RADIO_LIVENESS_SOFT_ONLY=1 ; integrated STM32WL has no separate radio-reset pin
-D WIO_E5_MINI_NO_EXTERNAL_SENSORS=1 ; the dedicated sensor env retains BME280 support
-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_RECENT_REPEATERS=1
-D LORA_TX_POWER=22
-D ADVERT_NAME='"wio-e5-mini Repeater"'
-D ADMIN_PASSWORD='"password"'
-D MAX_NEIGHBOURS=50
build_src_filter = ${lora_e5_mini.build_src_filter}
+<../examples/simple_repeater/*.cpp>
lib_deps = ${stm32_base.lib_deps}
[env:wio-e5-mini_sensor]
extends = lora_e5_mini
build_unflags = -Os
build_flags = ${lora_e5_mini.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 LORA_TX_POWER=22
-D ADVERT_NAME='"wio-e5-mini Sensor"'
-D ADMIN_PASSWORD='"password"'
build_src_filter = ${lora_e5_mini.build_src_filter}
+<../examples/simple_sensor>
[env:wio-e5-mini_companion_radio_usb]
extends = lora_e5_mini
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
build_unflags =
-Os
build_flags = ${lora_e5_mini.build_flags}
-D ED25519_COMPACT_SHA512=1 ; same hash rounds, compact loop preserves the filesystem boundary
-D ED25519_COMPACT_SCALAR=1 ; same ref10 arithmetic with fixed loops instead of unrolled code
-Oz
-flto
-fno-inline-small-functions
-fno-tree-dominator-opts ; save 160 release bytes while preserving the 32 KiB filesystem
-fno-caller-saves ; avoid spill-code growth and retain the 32 KiB filesystem
-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
; This board has no display. Retain its physical-button Companion controls
; without linking the full display-oriented UI task.
-D WIO_E5_MINI_HEADLESS_COMPANION_UI=1
; The optional I2C BME280 is not board-integrated; retain board voltage.
-D WIO_E5_MINI_NO_EXTERNAL_SENSORS=1
-D ENABLE_USB_INTERFACE
build_src_filter = ${lora_e5_mini.build_src_filter}
+<../examples/companion_radio/*.cpp>
lib_deps = ${stm32_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:wio-e5-mini_kiss_modem]
extends = lora_e5_mini
build_src_filter = ${lora_e5_mini.build_src_filter}
+<../examples/kiss_modem/>