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);