Files
MeshCore/variants/tiny_relay/platformio.ini
T

115 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}
-D MESH_CLI_COMPACT_REPLIES_DEFAULT=1
; 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/>