Merge remote-tracking branch 'origin/master' into NextHopRouter

This commit is contained in:
GUVWAF 2024-11-16 13:44:10 +01:00
commit 3ea2918f7f
14 changed files with 35 additions and 28 deletions

View File

@ -51,6 +51,7 @@ runs:
file: build.tar file: build.tar
target: build.tar target: build.tar
token: ${{ inputs.github_token }} token: ${{ inputs.github_token }}
version: tags/v2.5.3
- name: Unpack web ui - name: Unpack web ui
if: inputs.include-web-ui == 'true' if: inputs.include-web-ui == 'true'

View File

@ -13,8 +13,8 @@ jobs:
- name: Install libbluetooth - name: Install libbluetooth
shell: bash shell: bash
run: | run: |
apt-get update -y --fix-missing sudo apt-get update -y --fix-missing
apt-get install -y libbluetooth-dev libgpiod-dev libyaml-cpp-dev openssl libssl-dev libulfius-dev liborcania-dev sudo apt-get install -y libbluetooth-dev libgpiod-dev libyaml-cpp-dev openssl libssl-dev libulfius-dev liborcania-dev
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@ -16,6 +16,7 @@ build_flags =
-DLFS_NO_ASSERT ; Disable LFS assertions , see https://github.com/meshtastic/firmware/pull/3818 -DLFS_NO_ASSERT ; Disable LFS assertions , see https://github.com/meshtastic/firmware/pull/3818
-DMESHTASTIC_EXCLUDE_AUDIO=1 -DMESHTASTIC_EXCLUDE_AUDIO=1
-DMESHTASTIC_EXCLUDE_PAXCOUNTER=1 -DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
-DMAX_NUM_NODES=80
build_src_filter = build_src_filter =
${arduino_base.build_src_filter} -<platform/esp32/> -<platform/stm32wl> -<nimble/> -<mesh/wifi/> -<mesh/api/> -<mesh/http/> -<modules/esp32> -<platform/rp2xx0> -<mesh/eth/> -<mesh/raspihttp> ${arduino_base.build_src_filter} -<platform/esp32/> -<platform/stm32wl> -<nimble/> -<mesh/wifi/> -<mesh/api/> -<mesh/http/> -<modules/esp32> -<platform/rp2xx0> -<mesh/eth/> -<mesh/raspihttp>

View File

@ -1,8 +1,8 @@
; Common settings for rp2040 Processor based targets ; Common settings for rp2040 Processor based targets
[rp2040_base] [rp2040_base]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git#v1.2.0-gcc12 platform = https://github.com/maxgerhardt/platform-raspberrypi.git#a606be683748c73e9a0d46baf70163478d298f0f ; For arduino-pico 4.2.0
extends = arduino_base extends = arduino_base
platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#4.0.3 platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#4.2.1
board_build.core = earlephilhower board_build.core = earlephilhower
board_build.filesystem_size = 0.5m board_build.filesystem_size = 0.5m

View File

@ -1,8 +1,8 @@
; Common settings for rp2040 Processor based targets ; Common settings for rp2040 Processor based targets
[rp2350_base] [rp2350_base]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git#9e55f6db5c56b9867c69fe473f388beea4546672 platform = https://github.com/maxgerhardt/platform-raspberrypi.git#a606be683748c73e9a0d46baf70163478d298f0f ; For arduino-pico 4.2.0
extends = arduino_base extends = arduino_base
platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#a6ab6e1f95bc1428d667d55ea7173c0744acc03c ; 4.0.2+ platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#4.2.1
board_build.core = earlephilhower board_build.core = earlephilhower
board_build.filesystem_size = 0.5m board_build.filesystem_size = 0.5m

View File

@ -35,6 +35,11 @@ cp $SRCBIN $OUTDIR/$basename-update.bin
echo "Building Filesystem for ESP32 targets" echo "Building Filesystem for ESP32 targets"
pio run --environment $1 -t buildfs pio run --environment $1 -t buildfs
cp .pio/build/$1/littlefs.bin $OUTDIR/littlefswebui-$VERSION.bin
# Remove webserver files from the filesystem and rebuild
ls -l data/static # Diagnostic list of files
rm -rf data/static
pio run --environment $1 -t buildfs
cp .pio/build/$1/littlefs.bin $OUTDIR/littlefs-$VERSION.bin cp .pio/build/$1/littlefs.bin $OUTDIR/littlefs-$VERSION.bin
cp bin/device-install.* $OUTDIR cp bin/device-install.* $OUTDIR
cp bin/device-update.* $OUTDIR cp bin/device-update.* $OUTDIR

View File

@ -1,7 +1,6 @@
#pragma once #pragma once
#include <vector> #include <vector>
#include "architecture.h"
#include "mesh/generated/meshtastic/admin.pb.h" #include "mesh/generated/meshtastic/admin.pb.h"
#include "mesh/generated/meshtastic/deviceonly.pb.h" #include "mesh/generated/meshtastic/deviceonly.pb.h"
#include "mesh/generated/meshtastic/localonly.pb.h" #include "mesh/generated/meshtastic/localonly.pb.h"
@ -21,12 +20,8 @@
/// max number of nodes allowed in the mesh /// max number of nodes allowed in the mesh
#ifndef MAX_NUM_NODES #ifndef MAX_NUM_NODES
#ifdef ARCH_NRF52
#define MAX_NUM_NODES 80
#else
#define MAX_NUM_NODES 100 #define MAX_NUM_NODES 100
#endif #endif
#endif
#define MAX_NUM_NODES_FS 100 #define MAX_NUM_NODES_FS 100

View File

@ -20,6 +20,8 @@
#include <ESPmDNS.h> #include <ESPmDNS.h>
#include <esp_wifi.h> #include <esp_wifi.h>
static void WiFiEvent(WiFiEvent_t event); static void WiFiEvent(WiFiEvent_t event);
#elif defined(ARCH_RP2040)
#include <SimpleMDNS.h>
#endif #endif
#ifndef DISABLE_NTP #ifndef DISABLE_NTP
@ -59,19 +61,21 @@ static void onNetworkConnected()
// Start web server // Start web server
LOG_INFO("Start WiFi network services"); LOG_INFO("Start WiFi network services");
#ifdef ARCH_ESP32
// start mdns // start mdns
if (!MDNS.begin("Meshtastic")) { if (!MDNS.begin("Meshtastic")) {
LOG_ERROR("Error setting up MDNS responder!"); LOG_ERROR("Error setting up MDNS responder!");
} else { } else {
LOG_INFO("mDNS responder started");
LOG_INFO("mDNS Host: Meshtastic.local"); LOG_INFO("mDNS Host: Meshtastic.local");
#ifdef ARCH_ESP32
MDNS.addService("http", "tcp", 80); MDNS.addService("http", "tcp", 80);
MDNS.addService("https", "tcp", 443); MDNS.addService("https", "tcp", 443);
} #elif defined(ARCH_RP2040)
#else // ESP32 handles this in WiFiEvent // ARCH_RP2040 does not support HTTPS, create a "meshtastic" service
MDNS.addService("meshtastic", "tcp", 4403);
// ESP32 handles this in WiFiEvent
LOG_INFO("Obtained IP address: %s", WiFi.localIP().toString().c_str()); LOG_INFO("Obtained IP address: %s", WiFi.localIP().toString().c_str());
#endif #endif
}
#ifndef DISABLE_NTP #ifndef DISABLE_NTP
LOG_INFO("Start NTP time client"); LOG_INFO("Start NTP time client");
@ -129,7 +133,7 @@ static int32_t reconnectWiFi()
// Make sure we clear old connection credentials // Make sure we clear old connection credentials
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
WiFi.disconnect(false, true); WiFi.disconnect(false, true);
#else #elif defined(ARCH_RP2040)
WiFi.disconnect(false); WiFi.disconnect(false);
#endif #endif
LOG_INFO("Reconnecting to WiFi access point %s", wifiName); LOG_INFO("Reconnecting to WiFi access point %s", wifiName);
@ -193,7 +197,7 @@ void deinitWifi()
if (isWifiAvailable()) { if (isWifiAvailable()) {
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
WiFi.disconnect(true, false); WiFi.disconnect(true, false);
#else #elif defined(ARCH_RP2040)
WiFi.disconnect(true); WiFi.disconnect(true);
#endif #endif
WiFi.mode(WIFI_OFF); WiFi.mode(WIFI_OFF);
@ -229,15 +233,15 @@ bool initWifi()
if (config.network.address_mode == meshtastic_Config_NetworkConfig_AddressMode_STATIC && if (config.network.address_mode == meshtastic_Config_NetworkConfig_AddressMode_STATIC &&
config.network.ipv4_config.ip != 0) { config.network.ipv4_config.ip != 0) {
#ifndef ARCH_RP2040 #ifdef ARCH_ESP32
WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.gateway, config.network.ipv4_config.subnet, WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.gateway, config.network.ipv4_config.subnet,
config.network.ipv4_config.dns); config.network.ipv4_config.dns);
#else #elif defined(ARCH_RP2040)
WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.dns, config.network.ipv4_config.gateway, WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.dns, config.network.ipv4_config.gateway,
config.network.ipv4_config.subnet); config.network.ipv4_config.subnet);
#endif #endif
} }
#ifndef ARCH_RP2040 #ifdef ARCH_ESP32
WiFi.onEvent(WiFiEvent); WiFi.onEvent(WiFiEvent);
WiFi.setAutoReconnect(true); WiFi.setAutoReconnect(true);
WiFi.setSleep(false); WiFi.setSleep(false);

View File

@ -3,6 +3,7 @@ extends = rp2040_base
board = wiscore_rak11300 board = wiscore_rak11300
upload_protocol = picotool upload_protocol = picotool
# keep an old SDK to use less memory. # keep an old SDK to use less memory.
platform = https://github.com/maxgerhardt/platform-raspberrypi.git#v1.2.0-gcc12
platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#3.7.2 platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#3.7.2
# add our variants files to the include and src paths # add our variants files to the include and src paths
@ -13,5 +14,5 @@ build_flags = ${rp2040_base.build_flags}
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus" -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
lib_deps = lib_deps =
${rp2040_base.lib_deps} ${rp2040_base.lib_deps}
debug_build_flags = ${rp2040_base.build_flags} debug_build_flags = ${rp2040_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool debug_tool = cmsis-dap ; for e.g. Picotool

View File

@ -12,5 +12,5 @@ build_flags = ${rp2040_base.build_flags}
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus" -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
lib_deps = lib_deps =
${rp2040_base.lib_deps} ${rp2040_base.lib_deps}
debug_build_flags = ${rp2040_base.build_flags} debug_build_flags = ${rp2040_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool debug_tool = cmsis-dap ; for e.g. Picotool

View File

@ -12,5 +12,5 @@ build_flags = ${rp2040_base.build_flags}
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus" -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
lib_deps = lib_deps =
${rp2040_base.lib_deps} ${rp2040_base.lib_deps}
debug_build_flags = ${rp2040_base.build_flags} debug_build_flags = ${rp2040_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool debug_tool = cmsis-dap ; for e.g. Picotool

View File

@ -12,5 +12,5 @@ build_flags = ${rp2350_base.build_flags}
-L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus" -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
lib_deps = lib_deps =
${rp2350_base.lib_deps} ${rp2350_base.lib_deps}
debug_build_flags = ${rp2350_base.build_flags} debug_build_flags = ${rp2350_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool debug_tool = cmsis-dap ; for e.g. Picotool

View File

@ -14,5 +14,5 @@ build_src_filter = ${rp2040_base.build_src_filter} +<mesh/wifi/>
lib_deps = lib_deps =
${rp2040_base.lib_deps} ${rp2040_base.lib_deps}
${networking_base.lib_deps} ${networking_base.lib_deps}
debug_build_flags = ${rp2040_base.build_flags} debug_build_flags = ${rp2040_base.build_flags}, -g
debug_tool = cmsis-dap ; for e.g. Picotool debug_tool = cmsis-dap ; for e.g. Picotool

View File

@ -1,4 +1,4 @@
[VERSION] [VERSION]
major = 2 major = 2
minor = 5 minor = 5
build = 14 build = 13