Commit Graph
1052 Commits
Author SHA1 Message Date
agessaman 70722a5873 fix(mqtt): restore legacy outbox behavior for QoS0 async publishes
Update the PsychicMqttClient to ensure that QoS0 messages are enqueued with durable outbox storage. This change addresses issues with false-failure semantics in certain connected paths, improving message flow reliability. Additionally, modify platformio.ini to include SSL certificate generation and adjust build flags for reduced verbosity and enhanced functionality.
2026-04-23 22:48:21 -07:00
agessaman 7d0c5bce50 enhance(mqtt): improve QoS handling and retry logic in MQTTBridge
Refactor the MQTTBridge to implement enhanced QoS handling for publish operations. Introduce retry mechanisms for QoS0 packets, allowing for transient failures to be retried with a delay. Update publish methods to return success status, improving error handling and logging. Additionally, adjust the packet queue processing to accommodate new retry logic and ensure better message delivery control.
2026-04-23 21:06:49 -07:00
agessaman d6712c69c8 Merge mqtt-bridge-implementation into mqtt-bridge-implementation-flex
Integrate upstream/dev changes from merge 563d9a7 while preserving flex
MQTT memory and CLI behavior (slot commands, snmp, mqtt.rx/advert TX,
bridge.source sync, prefs layout, cert ignore rules).

Made-with: Cursor
2026-04-21 21:38:18 -07:00
agessaman e9ff1ae055 Refactor PsychicMqttClient to improve memory management and callback handling. Replace dynamic memory allocations with fixed-size arrays for callbacks, enhancing performance and reducing fragmentation. Introduce inline storage for topics and optimize buffer allocation during connection setup. Update version to 0.2.2 to reflect changes. 2026-04-21 20:43:09 -07:00
agessaman 563d9a7d39 Merge upstream/dev into mqtt-bridge-implementation
Resolve conflicts: devcontainer Node feature; UITask USER_BTN + MQTT WiFi;
room server ctor with RegionMap + MQTTBridge; CommonCLI prefs layout
(rx_boosted_gain after owner_info), refactor get/set into handlers with
MQTT CLI branches and getBoard preserved.

Made-with: Cursor
2026-04-19 10:08:27 -07:00
ripplebiz 35b5548c0c Merge pull request #2328 from recrof/xiao_c3-companion-fix
fix: remove sensors from xiao c3 companion because of bootloops
2026-04-18 20:44:15 +10:00
Liam Cottle 54a48da6b5 Merge pull request #2306 from petrkr/otaupdate2
SDK3.x: Fix OTA includes, bump Async version
2026-04-18 19:56:56 +12:00
Rastislav Vysoky 0899f66034 fix: remove sensors from xiao c3 companion because of bootloops 2026-04-18 09:42:27 +02:00
agessaman 0ed29cb7f2 Comment out MQTT debug configurations in platformio.ini for heltec_v4 variants to streamline the build environment. 2026-04-17 14:52:57 -07:00
jirogit 230c9af87b feat: add USB Companion Radio env for Heltec Wireless Paper 2026-04-15 19:43:51 -07:00
Petr Kracik e6c6282d40 Variants: Enable ElegantOTA on ESP32-C6 devices 2026-04-14 15:40:31 +02:00
Rastislav Vysoky bd05eca9f5 Add OFFLINE_QUEUE_SIZE=256 for xiao nrf52 companion usb 2026-04-13 21:09:56 +02:00
Huw Duddy 49221fc159 Merge pull request #2298 from TheMalkavien/fix/waveshare-rp2040-rx-sensitivity
Fixes #2294 : RX path not enabled on Waveshare RP2040
2026-04-14 01:36:26 +10:00
Liam Cottle 748f9cfdda Merge pull request #2072 from robekl/fix-t1000e-pin-comments
Fix T1000-E pin comments
2026-04-13 02:27:19 +12:00
Liam Cottle 3ff8b17660 Merge pull request #1833 from olanwe/set-wifi-offline-queue-sizes
Set OFFLINE_QUEUE_SIZE=256 for missing WiFi companion environments
2026-04-13 01:41:07 +12:00
liamcottle 7d8d66c3e6 fix compilation error in wifi variants due to not enough ram 2026-04-13 01:03:32 +12:00
Malkavien 8056344b86 fix(waveshare-rp2040): add SX126X_RXEN=17 to restore RX sensitivity
The Waveshare RP2040-LoRa board has an RF switch with two complementary
control lines:
- DIO2 (CTRL)  -- driven automatically by the SX1262 chip: HIGH on TX,
  LOW on RX
- GPIO17 (!CTRL) -- was not configured in MeshCore, so it floated and
  the switch never properly selected the LNA/RX path

Without this pin driven, the RF switch never switches to RX mode,
resulting in completely degraded reception. TX was unaffected because
DIO2 alone is sufficient to activate the TX path.

Adding SX126X_RXEN=17 lets RadioLib drive GPIO17 as the complement of
DIO2, so the switch correctly routes the signal to the LNA on receive.

Reference: https://files.waveshare.com/wiki/RP2040-LoRa/Rp2040-lora-sch.pdf
2026-04-12 14:49:42 +02:00
Liam Cottle a9de5bfc0c Merge pull request #1612 from weebl2000/default-button-low
Default button polarity to active-LOW across all firmware types
2026-04-12 23:30:28 +12:00
Liam Cottle f2b61f1ce5 Merge pull request #1425 from thomasabbott/tcxo_voltage_fix_rp2040
RP2040 Update SX126X_DIO3_TCXO_VOLTAGE to 1.8 V
2026-04-12 22:45:00 +12:00
Snayler d360931aa7 Merge branch 'meshcore-dev:dev' into dev 2026-04-10 18:31:52 +01:00
me d9cfd075a5 fix: remove real WiFi credentials from ThinkNode M5 variant
variants/thinknode_m5/platformio.ini contained actual WiFi SSID and
password credentials (Livebox-633C) committed by mistake. Replaced
with placeholder values consistent with other variants (myssid/mypwd).
2026-04-05 22:50:59 -07:00
agessaman 3b46e9eeed Enhance MQTT bridge implementation by adding support for the TennMesh preset, including fixed username/password authentication. Update documentation to reflect new preset details and modify error messages in CommonCLI for improved clarity. Adjust MQTTBridge to handle new authentication methods and ensure proper connection management across all slots. 2026-04-05 22:38:56 -07:00
agessaman 258a0d724c Update MQTTBridge to use runtime-configurable MQTT slot limits based on PSRAM availability. Modify related logic in MQTTBridge.cpp and MQTTBridge.h to replace static MAX_MQTT_SLOTS with RUNTIME_MQTT_SLOTS. Adjust platformio.ini to reduce verbosity of debug logging for improved performance. 2026-04-04 13:48:34 -07:00
Wessel Nieboer 057542625b Fix T1000E press=high 2026-04-04 13:19:13 +02:00
Wessel Nieboer 0a13ac7fc7 Default button polarity to active-LOW across all firmware types
Nearly all LoRa boards use a boot button that pulls to ground when
pressed.
2026-04-04 13:19:13 +02:00
Liam Cottle 0afd5a9336 Merge pull request #2244 from jirogit/fix/generic-espnow-advert-name
fix: correct ADVERT_NAME for Generic ESPNow room server (was 'Heltec Room')
2026-04-04 17:24:50 +13:00
jirogit 6769b74df6 fix: correct ADVERT_NAME for Generic ESPNow room server (was 'Heltec Room')
env:Generic_ESPNOW_room_svr was using 'Heltec Room' as ADVERT_NAME,
causing Generic ESPNow room server nodes to advertise with the wrong
device name on the mesh.
2026-04-03 19:08:15 -07:00
jirogit ce32d91ecb fix: correct ADVERT_NAME for ThinkNode M5 (was M2)
Repeater and Room Server environments in variants/thinknode_m5/platformio.ini
were using 'Thinknode M2' as the ADVERT_NAME, causing M5 nodes to advertise
with the wrong device name on the mesh.

- env:ThinkNode_M5_Repeater: 'Thinknode M2 Repeater' -> 'Thinknode M5 Repeater'
- env:ThinkNode_M5_room_server: 'Thinknode M2 Room Server' -> 'Thinknode M5 Room Server'
2026-04-03 18:55:39 -07:00
KPrivitt 27f732653b Added RAK12035 Soil Moisture and Temperature Sensor (#2223) 2026-04-03 22:54:24 +13:00
agessaman f0962efff4 Remove obsolete CoolTerm capture file and enhance MQTTBridge diagnostics by adding disconnect count and first disconnect time tracking. Update MQTTBridge.h and MQTTBridge.cpp to support new diagnostic features, and modify platformio.ini files to adjust WiFi transmission power settings for various variants. Update MQTT_IMPLEMENTATION.md with new TLS timeout build profiles for improved logging and troubleshooting. 2026-04-02 06:40:34 -07:00
Liam Cottle d0450bca99 Merge pull request #2228 from liamcottle/refactor/gat562-mesh-watch
Refactor GAT562 Mesh Watch
2026-04-02 17:19:12 +13:00
Liam Cottle b934daa990 Merge pull request #2007 from khudson/r1neo
Muzi Works R1 Neo support
2026-04-02 00:36:44 +13:00
Liam CottleandWessel fcad0dc7ed Apply suggestion from @weebl2000
Co-authored-by: Wessel <wessel@weebl.me>
2026-04-02 00:27:58 +13:00
Liam CottleandWessel 8fc9e1736c Apply suggestion from @weebl2000
Co-authored-by: Wessel <wessel@weebl.me>
2026-04-02 00:23:52 +13:00
liamcottle b37201db89 double press top button to go back on gat562 mesh watch 2026-04-01 21:51:32 +13:00
liamcottle 1a897a3b5f use top button to wake hibernated gat562 mesh watch 2026-04-01 21:50:33 +13:00
agessaman cf4ec3f6b4 Enhance MQTTBridge memory management by introducing a pre-allocated status JSON buffer in PSRAM, reducing allocation overhead during status publish operations. Update NTP synchronization to use a lightweight, non-blocking refresh method, and improve memory pressure handling by adjusting thresholds for publish operations. Update platformio.ini to reflect changes in SSL certificate source configuration. 2026-03-31 19:46:52 -07:00
agessaman 0e82271eb1 Implement WiFi disconnect diagnostics in MQTTBridge and CommonCLI. Add functionality to retrieve and format last WiFi disconnect reasons for improved troubleshooting. Update CommonCLI to handle diagnostic commands and enhance error reporting in MQTTBridge, ensuring better visibility into connection issues. 2026-03-31 14:45:47 -07:00
Liam Cottle 856df241ee Merge pull request #2138 from MGJ520/dev_GAT562_Mesh_Watch13
Support for GAT562 Mesh Watch13 device
2026-03-31 21:54:38 +13:00
agessaman da775bb281 Enhance MQTT implementation with updated partition table guidance and merged firmware flashing instructions. Add support for new SSL certificate sources in the generate_cert_bundle script, and integrate embedded CA bundle handling in MQTTBridge and CommonCLI. Update platformio.ini files across multiple variants to include new certificate bundle configurations and scripts for improved SSL support. 2026-03-30 17:05:01 -07:00
agessaman 202acacfe1 Enhance MQTT implementation by adding optional SNMP support, allowing for monitoring and management of MQTT statistics. Update configuration options to include SNMP settings, and modify the MQTTBridge to integrate SNMP agent functionality. Additionally, improve documentation for the MQTT observer setup and expand the number of concurrent MQTT connection slots from 3 to 5, enhancing overall flexibility and performance. 2026-03-28 17:08:32 -07:00
agessaman cc17c6b745 Merge remote-tracking branch 'origin/dev' into mqtt-bridge-implementation-flex
Resolve conflicts: keep MQTT prefs skip/pad and append rx_boosted_gain I/O
per dev layout; add devcontainer node feature from dev.

Made-with: Cursor
2026-03-28 08:37:42 -07:00
Snayler bfdd5fb571 Fix formatting of ADC_MULTIPLIER definition 2026-03-27 01:23:04 +00:00
Snayler 4b25f0a3df Add correct ADC_MULTIPLIER definition to Heltec Wireless Paper 2026-03-27 01:19:46 +00:00
Snayler 50e9456f28 Define ADC_MULTIPLIER for adjustable ADC calculation 2026-03-27 01:17:39 +00:00
MGJ 76be69dcde Reduce unnecessary compilation time 2026-03-26 16:32:00 +08:00
fdlamotte 15b246924e Merge pull request #2121 from archef2000/patch-1
Fix typo for ThinkNode M5 room server environment
2026-03-25 16:03:09 -04:00
MGJ cd6c09a0d9 Support for GAT562 Mesh Watch13 device 2026-03-24 14:16:48 +08:00
agessaman 4a60f16683 Refactor logging and error handling in MyMesh and MQTTBridge. Implement checks for Serial availability before printing logs to prevent potential blocking. Update MQTTBridge to include circuit breaker logic for managing reconnect attempts and enhance slot management with new state tracking. Expand MQTTPresetDef to include a new preset with configurable token lifetime and retain options. 2026-03-23 20:21:47 -07:00
Jeroen Vermeulen da689c8e91 Fix default radio.rxgain for Station G2
As @LitBomb pointed out in his [comment](https://github.com/meshcore-dev/MeshCore/issues/2118#issuecomment-4108168109) on #2118 RX Boosted Gain should not be enabled for the Station G2.

This change is a fix for #2124 to make the default of `radio.rxgain` to be OFF on the Station G2.

This restores the pre-1.14.1 behaviour with the only change being the user is now able to change the setting in the CLI.
2026-03-23 23:06:42 +01:00