Ver código fonte

Merge upstream/dev into develop

Jared Dohrman 3 meses atrás
pai
commit
2646d7177e

+ 0 - 2
arch/esp32/AsyncElegantOTA/src/AsyncElegantOTA.h

@@ -15,8 +15,6 @@
     #include "WiFi.h"
     #include "AsyncTCP.h"
     #include "Update.h"
-    #include "esp_int_wdt.h"
-    #include "esp_task_wdt.h"
 #endif
 
 #include "Hash.h"

+ 14 - 0
docs/cli_commands.md

@@ -261,6 +261,20 @@ If `noise_floor` reports `0`, check `get agc.reset.interval`. If it is not `0`,
 
 ---
 
+#### View or change the boosted receive gain mode
+**Usage:**
+- `get radio.rxgain`
+- `set radio.rxgain <state>`
+
+**Parameters:**
+- `state`: `on`|`off`
+
+**Default:** `off`
+
+**Note:** Only available on SX1262 and SX1268 based boards.
+
+---
+
 #### Change the radio parameters for a set duration
 
 **Usage:**

+ 2 - 2
examples/companion_radio/MyMesh.h

@@ -8,11 +8,11 @@
 #define FIRMWARE_VER_CODE 11
 
 #ifndef FIRMWARE_BUILD_DATE
-#define FIRMWARE_BUILD_DATE "20 Mar 2026"
+#define FIRMWARE_BUILD_DATE "19 Apr 2026"
 #endif
 
 #ifndef FIRMWARE_VERSION
-#define FIRMWARE_VERSION "v1.14.1"
+#define FIRMWARE_VERSION "v1.15.0"
 #endif
 
 #if defined(NRF52_PLATFORM) || defined(STM32_PLATFORM)

+ 2 - 2
examples/simple_repeater/MyMesh.h

@@ -77,11 +77,11 @@ struct NeighbourInfo {
 };
 
 #ifndef FIRMWARE_BUILD_DATE
-  #define FIRMWARE_BUILD_DATE   "20 Mar 2026"
+  #define FIRMWARE_BUILD_DATE   "19 Apr 2026"
 #endif
 
 #ifndef FIRMWARE_VERSION
-  #define FIRMWARE_VERSION   "v1.14.1"
+  #define FIRMWARE_VERSION   "v1.15.0"
 #endif
 
 #define FIRMWARE_ROLE "repeater"

+ 2 - 2
examples/simple_room_server/MyMesh.h

@@ -27,11 +27,11 @@
 /* ------------------------------ Config -------------------------------- */
 
 #ifndef FIRMWARE_BUILD_DATE
-  #define FIRMWARE_BUILD_DATE   "20 Mar 2026"
+  #define FIRMWARE_BUILD_DATE   "19 Apr 2026"
 #endif
 
 #ifndef FIRMWARE_VERSION
-  #define FIRMWARE_VERSION   "v1.14.1"
+  #define FIRMWARE_VERSION   "v1.15.0"
 #endif
 
 #ifndef LORA_FREQ

+ 1 - 1
platformio.ini

@@ -68,7 +68,7 @@ build_src_filter = ${arduino_base.build_src_filter}
 
 [esp32_ota]
 lib_deps =
-  me-no-dev/ESPAsyncWebServer @ ^3.6.0
+  ESP32Async/ESPAsyncWebServer @ 3.10.3
   file://arch/esp32/AsyncElegantOTA
 
 ; esp32c6 uses arduino framework 3.x

+ 1 - 1
src/helpers/RegionMap.cpp

@@ -176,7 +176,7 @@ int RegionMap::getTransportKeysFor(const RegionEntry& src, TransportKey dest[],
     _store->getAutoKeyFor(src.id, src.name, dest[0]);
     num = 1;
   } else {   // new: implicit auto hashtag region
-    char tmp[sizeof(src.name)];
+    char tmp[sizeof(src.name)+1];
     tmp[0] = '#';
     strcpy(&tmp[1], src.name);
     _store->getAutoKeyFor(src.id, tmp, dest[0]);

+ 7 - 0
src/helpers/nrf52/SerialBLEInterface.cpp

@@ -181,6 +181,13 @@ void SerialBLEInterface::begin(const char* prefix, char* name, uint32_t pin_code
   bleuart.begin();
   bleuart.setRxCallback(onBleUartRX);
 
+
+
+  // Register DFU on the main BLE stack so paired clients can discover it
+  // without switching the device into a separate OTA-only BLE mode first.
+  bledfu.setPermission(SECMODE_ENC_WITH_MITM, SECMODE_ENC_WITH_MITM);
+  bledfu.begin();
+
   Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
   Bluefruit.Advertising.addTxPower();
   Bluefruit.Advertising.addService(bleuart);

+ 1 - 0
src/helpers/nrf52/SerialBLEInterface.h

@@ -8,6 +8,7 @@
 #endif
 
 class SerialBLEInterface : public BaseSerialInterface {
+  BLEDfu bledfu;
   BLEUart bleuart;
   bool _isEnabled;
   bool _isDeviceConnected;

+ 19 - 0
variants/heltec_wireless_paper/platformio.ini

@@ -64,6 +64,25 @@ lib_deps =
   densaugeo/base64 @ ~1.4.0
   bakercp/CRC32 @ ^2.0.0
 
+[env:Heltec_Wireless_Paper_companion_radio_usb]
+extends = Heltec_Wireless_Paper_base
+build_flags =
+  ${Heltec_Wireless_Paper_base.build_flags}
+  -I examples/companion_radio/ui-new
+  -D MAX_CONTACTS=350
+  -D MAX_GROUP_CHANNELS=40
+  -D DISPLAY_CLASS=E213Display
+  -D OFFLINE_QUEUE_SIZE=256
+build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter}
+  +<helpers/ui/E213Display.cpp>
+  +<helpers/esp32/*.cpp>
+  +<../examples/companion_radio/*.cpp>
+  +<../examples/companion_radio/ui-new/*.cpp>
+lib_deps =
+  ${Heltec_Wireless_Paper_base.lib_deps}
+  densaugeo/base64 @ ~1.4.0
+  bakercp/CRC32 @ ^2.0.0
+
 [env:Heltec_Wireless_Paper_repeater]
 extends = Heltec_Wireless_Paper_base
 build_flags =

+ 2 - 2
variants/lilygo_tlora_c6/platformio.ini

@@ -46,7 +46,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${tlora_c6.lib_deps}
-;  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
 
 [env:LilyGo_Tlora_C6_room_server_]
 extends = tlora_c6
@@ -63,7 +63,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${tlora_c6.lib_deps}
-;  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
 
 [env:LilyGo_Tlora_C6_companion_radio_ble_]
 extends = tlora_c6

+ 8 - 4
variants/xiao_c3/platformio.ini

@@ -3,9 +3,6 @@ extends = esp32_base
 board = seeed_xiao_esp32c3
 build_flags =
   ${esp32_base.build_flags}
-  ${sensor_base.build_flags}
-  -UENV_INCLUDE_GPS
-  -UENV_INCLUDE_VL53L0X
   -I variants/xiao_c3
   -D ESP32_CPU_FREQ=80
   -D PIN_VBAT_READ=D0
@@ -29,7 +26,6 @@ build_src_filter = ${esp32_base.build_src_filter}
   +<helpers/sensors>
 lib_deps =
   ${esp32_base.lib_deps}
-  ${sensor_base.lib_deps}
 
 [env:Xiao_C3_repeater]
 extends = Xiao_esp32_C3
@@ -37,6 +33,9 @@ build_src_filter = ${Xiao_esp32_C3.build_src_filter}
   +<../examples/simple_repeater/*.cpp>
 build_flags =
   ${Xiao_esp32_C3.build_flags}
+  ${sensor_base.build_flags}
+  -UENV_INCLUDE_GPS
+  -UENV_INCLUDE_VL53L0X
   -D ADVERT_NAME='"Xiao C3 Repeater"'
   -D ADVERT_LAT=0.0
   -D ADVERT_LON=0.0
@@ -46,6 +45,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${Xiao_esp32_C3.lib_deps}
+  ${sensor_base.lib_deps}
   ${esp32_ota.lib_deps}
   bakercp/CRC32 @ ^2.0.0
 
@@ -55,6 +55,9 @@ build_src_filter = ${Xiao_esp32_C3.build_src_filter}
   +<../examples/simple_room_server/*.cpp>
 build_flags =
   ${Xiao_esp32_C3.build_flags}
+  ${sensor_base.build_flags}
+  -UENV_INCLUDE_GPS
+  -UENV_INCLUDE_VL53L0X
   -D ADVERT_NAME='"Xiao C3 Room"'
   -D ADVERT_LAT=0.0
   -D ADVERT_LON=0.0
@@ -64,6 +67,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${Xiao_esp32_C3.lib_deps}
+  ${sensor_base.lib_deps}
   ${esp32_ota.lib_deps}
   bakercp/CRC32 @ ^2.0.0
 

+ 2 - 2
variants/xiao_c6/platformio.ini

@@ -46,7 +46,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${Xiao_C6.lib_deps}
-;  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
 
 [env:Xiao_C6_companion_radio_ble_]
 extends = Xiao_C6
@@ -163,7 +163,7 @@ build_flags =
 ;  -D MESH_DEBUG=1
 lib_deps =
   ${WHY2025_badge.lib_deps}
-;  ${esp32_ota.lib_deps}
+  ${esp32_ota.lib_deps}
 
 [env:WHY2025_badge_companion_radio_ble_]
 extends = WHY2025_badge