Custom libraries for PS, RXPS and new RadioLib

This commit is contained in:
Kevin Le committed 2026-10-17 09:39:29 +07:00
1 parent 5419b43463
commit 0db7fc4f17
1 file changed
+27 -4
+27 -4
View File
@@ -19,8 +19,7 @@ monitor_speed = 115200
lib_deps =
SPI
Wire
;jgromes/RadioLib @ ^7.7.1
https://github.com/jgromes/RadioLib.git#6d8934836678d8894e3d556550475b37dce3e2b6
jgromes/RadioLib @ ^7.8.1
rweather/Crypto @ ^0.4.0
adafruit/RTClib @ ^2.1.3
melopero/Melopero RV3028 @ ^1.1.0
@@ -29,6 +28,15 @@ build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
-D LORA_FREQ=869.618
-D LORA_BW=62.5
-D LORA_SF=8
; TCXO startup delay in microseconds, written by CustomSX1262/CustomLR1110
; after begin(). RadioLib defaults to 5000 and nothing used to override it, so
; every board paid 5 ms on every duty-cycle wake. Lowest working value measured
; on five modules: T096 400, Tracker V2 300, Waveshare 150, ThinkNode M3 200,
; T1000-E 200 us - 1600 keeps 4x margin over the worst of them. It also feeds
; the RXPS sleep floor and timer guard (transition = this + 1000), so lowering
; it makes low-SF profiles armable that were not. A board needing its own value
; puts -D MC_TCXO_DELAY_US=... in its own build_flags; the later -D wins.
-D MC_TCXO_DELAY_US=1600
-D ENABLE_ADVERT_ON_BOOT=1
-D ENABLE_PRIVATE_KEY_IMPORT=1 ; NOTE: comment these out for more secure firmware
-D ENABLE_PRIVATE_KEY_EXPORT=1
@@ -58,6 +66,9 @@ build_src_filter =
[esp32_base]
extends = arduino_base
platform = platformio/espressif32@6.11.0
; PowerSaving Arduino Core 2.0.17 for low power ESP32 boards
; https://github.com/IoTThinks/powersaving-arduino-lib
platform_packages = framework-arduinoespressif32 @ https://github.com/IoTThinks/powersaving-arduino-lib/releases/download/2.0.17/esp32-2.0.17.zip
monitor_filters = esp32_exception_decoder
extra_scripts = merge-bin.py
build_flags = ${arduino_base.build_flags}
@@ -73,8 +84,14 @@ lib_deps =
; esp32c6 uses arduino framework 3.x
; WARNING: experimental. May not work as stable as other platforms.
[esp32c6_base]
extends = esp32_base
extends = arduino_base
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13-1/platform-espressif32.zip
monitor_filters = esp32_exception_decoder
extra_scripts = merge-bin.py
build_flags =
${arduino_base.build_flags}
-D ESP32_PLATFORM
build_src_filter = ${arduino_base.build_src_filter}
; ----------------- NRF52 ---------------------
@@ -92,7 +109,10 @@ build_flags = ${arduino_base.build_flags}
-D NRF52_PLATFORM
-D LFS_NO_ASSERT=1
-D EXTRAFS=1
-D USE_CC310_HW_CRYPTO=1
; CC310 hardware crypto (upstream PR #2824) disabled until its benefit is proven:
; no measurable current difference on RAK4631 with PowerSaving, and per-call
; nRFCrypto begin()/end() was questioned in review. Re-enable by uncommenting.
; -D USE_CC310_HW_CRYPTO=1
lib_deps =
${arduino_base.lib_deps}
https://github.com/oltaco/CustomLFS#0.2.3
@@ -118,6 +138,7 @@ build_flags = ${arduino_base.build_flags}
-D STM32_PLATFORM
-I src/helpers/stm32
-I $PROJECT_PACKAGES_DIR/framework-arduinoststm32/libraries/SubGhz/src
-fpermissive
build_src_filter = ${arduino_base.build_src_filter}
+<helpers/stm32>
lib_deps = ${arduino_base.lib_deps}
@@ -174,6 +195,8 @@ build_src_filter =
+<../src/Packet.cpp>
+<../src/helpers/ConfigSerializer.cpp>
+<../src/helpers/DynamicConfigSerializer.cpp>
+<../src/helpers/radiolib/RXPowerSaving.cpp>
+<../src/helpers/radiolib/RXPowerSavingCLI.cpp>
lib_deps =
google/googletest @ 1.17.0