101 lines
3.2 KiB
INI
101 lines
3.2 KiB
INI
[rak3x72]
|
|
extends = stm32_base
|
|
board = rak3172
|
|
board_upload.maximum_size = 229376 ; 32kb for FS
|
|
build_flags = ${stm32_base.build_flags}
|
|
-D RAK_3X72
|
|
-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
|
|
-I variants/rak3x72
|
|
build_src_filter = ${stm32_base.build_src_filter}
|
|
+<../variants/rak3x72>
|
|
|
|
[env:RAK_3x72_repeater]
|
|
extends = rak3x72
|
|
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
|
|
board_upload.maximum_size = 245760 ; 240 KiB app, 16 KiB LittleFS
|
|
build_unflags = -Os
|
|
build_flags = ${rak3x72.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 ADVERT_NAME='"RAK3x72 Repeater"'
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
build_src_filter = ${rak3x72.build_src_filter}
|
|
+<../examples/simple_repeater/*.cpp>
|
|
|
|
[env:RAK_3x72_sensor]
|
|
extends = rak3x72
|
|
build_unflags = -Os
|
|
build_flags = ${rak3x72.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='"RAK3x72 Sensor"'
|
|
-D ADMIN_PASSWORD='"password"'
|
|
build_src_filter = ${rak3x72.build_src_filter}
|
|
+<../examples/simple_sensor>
|
|
|
|
[env:RAK_3x72_companion_radio_usb]
|
|
extends = rak3x72
|
|
platform_packages = platformio/toolchain-gccarmnoneeabi@^1.140201.0
|
|
build_unflags = -Os
|
|
build_flags = ${rak3x72.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-reorder-blocks
|
|
-fno-reorder-functions
|
|
-fno-inline-small-functions
|
|
-fno-tree-dominator-opts ; preserve the 32 KiB filesystem with the stability guards
|
|
-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 FORMAT_FS=true
|
|
-D MAX_CONTACTS=100
|
|
-D MAX_GROUP_CHANNELS=8
|
|
-D ENABLE_USB_INTERFACE
|
|
build_src_filter = ${rak3x72.build_src_filter}
|
|
+<../examples/companion_radio/*.cpp>
|
|
lib_deps = ${rak3x72.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:RAK_3x72_kiss_modem]
|
|
extends = rak3x72
|
|
build_src_filter = ${rak3x72.build_src_filter}
|
|
+<../examples/kiss_modem/>
|