diff --git a/.trunk/.gitignore b/.trunk/.gitignore
index cf2f2547..8130ba6d 100644
--- a/.trunk/.gitignore
+++ b/.trunk/.gitignore
@@ -5,3 +5,4 @@
plugins
user_trunk.yaml
user.yaml
+shims
diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml
index 519a9181..cdf662e1 100644
--- a/.trunk/trunk.yaml
+++ b/.trunk/trunk.yaml
@@ -1,36 +1,37 @@
version: 0.1
cli:
- version: 1.7.0
+ version: 1.9.1
plugins:
sources:
- id: trunk
- ref: v0.0.14
+ ref: v0.0.17
uri: https://github.com/trunk-io/plugins
lint:
enabled:
- - ruff@0.0.260
- - yamllint@1.30.0
+ - taplo@0.7.0
+ - ruff@0.0.265
+ - yamllint@1.31.0
- isort@5.12.0
- - markdownlint@0.33.0
+ - markdownlint@0.34.0
- oxipng@8.0.0
- svgo@3.0.2
- - actionlint@1.6.23
+ - actionlint@1.6.24
- flake8@6.0.0
- hadolint@2.12.0
- shfmt@3.5.0
- shellcheck@0.9.0
- black@23.3.0
- git-diff-check
- - gitleaks@8.16.2
+ - gitleaks@8.16.3
- clang-format@14.0.0
- - prettier@2.8.7
+ - prettier@2.8.8
disabled:
- taplo@0.7.0
- shellcheck@0.9.0
- shfmt@3.5.0
- oxipng@8.0.0
- actionlint@1.6.22
- - markdownlint@0.33.0
+ - markdownlint@0.34.0
- hadolint@2.12.0
- svgo@3.0.2
runtimes:
diff --git a/arch/esp32/esp32.ini b/arch/esp32/esp32.ini
index fb83ec2d..45409ad7 100644
--- a/arch/esp32/esp32.ini
+++ b/arch/esp32/esp32.ini
@@ -2,11 +2,14 @@
[esp32_base]
extends = arduino_base
platform = platformio/espressif32@^6.1.0
+
build_src_filter =
${arduino_base.build_src_filter} - - - -
+
upload_speed = 921600
debug_init_break = tbreak setup
monitor_filters = esp32_exception_decoder
+
board_build.filesystem = littlefs
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
@@ -34,6 +37,7 @@ lib_deps =
${environmental_base.lib_deps}
https://github.com/meshtastic/esp32_https_server.git#23665b3adc080a311dcbb586ed5941b5f94d6ea2
h2zero/NimBLE-Arduino@^1.4.0
+ jgromes/RadioLib@^6.0.0
https://github.com/lewisxhe/XPowersLib.git#84b7373faea3118b6c37954d52f98b8a337148d6
https://github.com/meshtastic/ESP32_Codec2.git#633326c78ac251c059ab3a8c430fcdf25b41672f
diff --git a/arch/esp32/esp32c3.ini b/arch/esp32/esp32c3.ini
index 5ebb789a..619fdb28 100644
--- a/arch/esp32/esp32c3.ini
+++ b/arch/esp32/esp32c3.ini
@@ -1,44 +1,5 @@
[esp32c3_base]
-extends = arduino_base
-platform = platformio/espressif32@^6.1.0
-build_src_filter =
- ${arduino_base.build_src_filter} - - - -
-upload_speed = 961200
+extends = esp32_base
+
monitor_speed = 115200
-debug_init_break = tbreak setup
monitor_filters = esp32_c3_exception_decoder
-board_build.filesystem = littlefs
-
-# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
-# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
-# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
-build_flags =
- ${arduino_base.build_flags}
- -Wall
- -Wextra
- -Isrc/platform/esp32
- -std=c++11
- -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
- -DCONFIG_BT_NIMBLE_ENABLED
- -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
- -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
- -DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
- ;-DDEBUG_HEAP
-
-lib_deps =
- ${arduino_base.lib_deps}
- ${networking_base.lib_deps}
- ${environmental_base.lib_deps}
- https://github.com/meshtastic/esp32_https_server.git#23665b3adc080a311dcbb586ed5941b5f94d6ea2
- h2zero/NimBLE-Arduino@^1.4.0
- https://github.com/lewisxhe/XPowersLib.git#84b7373faea3118b6c37954d52f98b8a337148d6
- https://github.com/meshtastic/ESP32_Codec2.git#633326c78ac251c059ab3a8c430fcdf25b41672f
-lib_ignore =
- segger_rtt
- ESP32 BLE Arduino
-
-; customize the partition table
-; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
-board_build.partitions = partition-table.csv
\ No newline at end of file
diff --git a/arch/esp32/esp32s2.ini b/arch/esp32/esp32s2.ini
index 6e75c08c..3bde3465 100644
--- a/arch/esp32/esp32s2.ini
+++ b/arch/esp32/esp32s2.ini
@@ -1,47 +1,16 @@
[esp32s2_base]
-extends = arduino_base
-platform = platformio/espressif32@^6.1.0
+extends = esp32_base
+
build_src_filter =
- ${arduino_base.build_src_filter} - - - - -
-upload_speed = 961200
+ ${esp32_base.build_src_filter} -
+
monitor_speed = 115200
-debug_init_break = tbreak setup
-monitor_filters = esp32_exception_decoder
-board_build.filesystem = littlefs
-# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
-# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
-# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
build_flags =
- ${arduino_base.build_flags}
- -Wall
- -Wextra
- -Isrc/platform/esp32
- -std=c++11
- -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
- -DAXP_DEBUG_PORT=Serial
- -DCONFIG_BT_NIMBLE_ENABLED
- -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
- -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
- -DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
+ ${esp32_base.build_flags}
-DHAS_BLUETOOTH=0
- ;-DDEBUG_HEAP
-lib_deps =
- ${arduino_base.lib_deps}
- ${networking_base.lib_deps}
- ${environmental_base.lib_deps}
- https://github.com/meshtastic/esp32_https_server.git#23665b3adc080a311dcbb586ed5941b5f94d6ea2
- https://github.com/lewisxhe/XPowersLib.git#84b7373faea3118b6c37954d52f98b8a337148d6
- https://github.com/meshtastic/ESP32_Codec2.git#633326c78ac251c059ab3a8c430fcdf25b41672f
-
lib_ignore =
- segger_rtt
- ESP32 BLE Arduino
-
-; customize the partition table
-; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
-board_build.partitions = partition-table.csv
+ ${esp32_base.lib_ignore}
+ NimBLE-Arduino
diff --git a/arch/esp32/esp32s3.ini b/arch/esp32/esp32s3.ini
index bb0214f4..6a1bdd3f 100644
--- a/arch/esp32/esp32s3.ini
+++ b/arch/esp32/esp32s3.ini
@@ -1,47 +1,5 @@
[esp32s3_base]
-extends = arduino_base
-platform = platformio/espressif32@^6.1.0
-build_src_filter =
- ${arduino_base.build_src_filter} - - - -
-upload_speed = 961200
+extends = esp32_base
+
monitor_speed = 115200
-debug_init_break = tbreak setup
-monitor_filters = esp32_exception_decoder
-board_build.filesystem = littlefs
-
-# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
-# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
-# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
-build_flags =
- ${arduino_base.build_flags}
- -Wall
- -Wextra
- -Isrc/platform/esp32
- -std=c++11
- -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
- -DAXP_DEBUG_PORT=Serial
- -DCONFIG_BT_NIMBLE_ENABLED
- -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
- -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
- -DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
- ;-DDEBUG_HEAP
-
-lib_deps =
- ${arduino_base.lib_deps}
- ${networking_base.lib_deps}
- ${environmental_base.lib_deps}
- https://github.com/meshtastic/esp32_https_server.git#23665b3adc080a311dcbb586ed5941b5f94d6ea2
- h2zero/NimBLE-Arduino@^1.4.0
- https://github.com/lewisxhe/XPowersLib.git#84b7373faea3118b6c37954d52f98b8a337148d6
- https://github.com/meshtastic/ESP32_Codec2.git#633326c78ac251c059ab3a8c430fcdf25b41672f
-
-lib_ignore =
- segger_rtt
- ESP32 BLE Arduino
-
-; customize the partition table
-; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
-board_build.partitions = partition-table.csv
diff --git a/arch/nrf52/nrf52.ini b/arch/nrf52/nrf52.ini
index c2287d7e..3f1a77d0 100644
--- a/arch/nrf52/nrf52.ini
+++ b/arch/nrf52/nrf52.ini
@@ -1,18 +1,20 @@
[nrf52_base]
; Instead of the standard nordicnrf52 platform, we use our fork which has our added variant files
platform = platformio/nordicnrf52@^9.5.0
-
extends = arduino_base
+
build_type = debug ; I'm debugging with ICE a lot now
build_flags =
${arduino_base.build_flags} -Wno-unused-variable
-Isrc/platform/nrf52
+
build_src_filter =
${arduino_base.build_src_filter} - - - - - - - - -
+
+lib_deps=
+ ${arduino_base.lib_deps}
+ jgromes/RadioLib@^6.0.0
+
lib_ignore =
BluetoothOTA
-
-; Note: By default no lora device is created for this build - it uses a simulated interface
-[env:feather_nrf52832]
-extends = nrf52_base
-board = adafruit_feather_nrf52832
+
diff --git a/arch/nrf52/nrf52832.ini b/arch/nrf52/nrf52832.ini
new file mode 100644
index 00000000..ce94283b
--- /dev/null
+++ b/arch/nrf52/nrf52832.ini
@@ -0,0 +1,7 @@
+[nrf52832_base]
+extends = nrf52_base
+
+build_flags = ${nrf52_base.build_flags}
+
+lib_deps =
+ ${nrf52_base.lib_deps}
diff --git a/arch/nrf52/nrf52840.ini b/arch/nrf52/nrf52840.ini
index 14cc1d1e..cf08fd02 100644
--- a/arch/nrf52/nrf52840.ini
+++ b/arch/nrf52/nrf52840.ini
@@ -1,14 +1,9 @@
[nrf52840_base]
extends = nrf52_base
+
build_flags = ${nrf52_base.build_flags}
+
lib_deps =
- ${arduino_base.lib_deps}
+ ${nrf52_base.lib_deps}
${environmental_base.lib_deps}
https://github.com/Kongduino/Adafruit_nRFCrypto.git#e31a8825ea3300b163a0a3c1ddd5de34e10e1371
-
-; Note: By default no lora device is created for this build - it uses a simulated interface
-[env:nrf52840dk]
-extends = nrf52840_base
-board = nrf52840_dk
-
-
diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini
index 100f3538..90309c6d 100644
--- a/arch/portduino/portduino.ini
+++ b/arch/portduino/portduino.ini
@@ -20,4 +20,5 @@ lib_deps =
${env.lib_deps}
${networking_base.lib_deps}
rweather/Crypto@^0.4.0
+ jgromes/RadioLib@^5.7.0
build_flags = ${arduino_base.build_flags} -fPIC -Isrc/platform/portduino
diff --git a/arch/rp2040/rp2040.ini b/arch/rp2040/rp2040.ini
index c41f9289..6f5449ae 100644
--- a/arch/rp2040/rp2040.ini
+++ b/arch/rp2040/rp2040.ini
@@ -2,6 +2,7 @@
[rp2040_base]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git#9f8c10e50b5acd18e7bfd32638199c655be73a5b
extends = arduino_base
+
board_build.core = earlephilhower
board_build.filesystem_size = 0.5m
build_flags =
@@ -11,9 +12,12 @@ build_flags =
# -D _POSIX_THREADS
build_src_filter =
${arduino_base.build_src_filter} - - - - - - - - -
+
lib_ignore =
BluetoothOTA
+
lib_deps =
${arduino_base.lib_deps}
${environmental_base.lib_deps}
+ jgromes/RadioLib@^6.0.0
https://github.com/kokke/tiny-AES-c.git#f06ac37fc31dfdaca2e0d9bec83f90d5663c319b
diff --git a/arch/stm32/stm32wl5e.ini b/arch/stm32/stm32wl5e.ini
index a38fb65e..4d5cee56 100644
--- a/arch/stm32/stm32wl5e.ini
+++ b/arch/stm32/stm32wl5e.ini
@@ -2,17 +2,19 @@
platform = platformio/ststm32@^15.4.1
board = generic_wl5e
framework = arduino
+
build_type = debug
build_flags =
${arduino_base.build_flags}
-Isrc/platform/stm32wl -g
- -DHAL_SUBGHZ_MODULE_ENABLED
-# Arduino/PlatformIO framework-arduinoststm32 package does not presently have SUBGHZSPI support
-# -DPIN_SPI_MOSI=PINSUBGHZSPIMOSI -DPIN_SPI_MISO=PINSUBGHZSPIMISO -DPIN_SPI_SCK=PINSUBGHZSPISCK
+
build_src_filter =
${arduino_base.build_src_filter} - - - - - - - - - - - - - -
+
lib_deps =
${env.lib_deps}
+ jgromes/RadioLib@^6.0.0
https://github.com/kokke/tiny-AES-c.git#f06ac37fc31dfdaca2e0d9bec83f90d5663c319b
+
lib_ignore =
mathertel/OneButton@^2.0.3
diff --git a/platformio.ini b/platformio.ini
index 7c183fab..b471ccec 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -66,7 +66,6 @@ lib_deps =
https://github.com/meshtastic/ArduinoThread.git#72921ac222eed6f526ba1682023cee290d9aa1b3
nanopb/Nanopb@^0.4.7
erriez/ErriezCRC32@^1.0.1
- jgromes/RadioLib@^6.0.0
; Used for the code analysis in PIO Home / Inspect
check_tool = cppcheck
diff --git a/src/main.cpp b/src/main.cpp
index 872c9a4c..324422a6 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -161,6 +161,7 @@ static OSThread *buttonThread;
uint32_t ButtonThread::longPressTime = 0;
#endif
static OSThread *accelerometerThread;
+SPISettings spiSettings(4000000, MSBFIRST, SPI_MODE0);
RadioInterface *rIf = NULL;
@@ -454,8 +455,6 @@ void setup()
SPI.setFrequency(4000000);
#endif
- static SPISettings spiSettings(4000000, MSBFIRST, SPI_MODE0);
-
// Initialize the screen first so we can show the logo while we start up everything else.
screen = new graphics::Screen(screen_found, screen_model, screen_geometry);