Commit Graph
2784 Commits
Author SHA1 Message Date
agessaman 13fbcd9162 Update MQTT presets to include 'nashmesh' and adjust related documentation. Modify error messages in CommonCLI for improved clarity. 2026-04-14 21:19:19 -07:00
agessaman ff2df2b712 Refactor MQTTMessageBuilder to accept external JsonDocument parameters for status and packet messages, reducing stack usage and improving memory management. Update MQTTBridge to allocate and reuse DynamicJsonDocument instances for JSON serialization, enhancing performance and efficiency during publish operations. 2026-04-14 18:07:02 -07:00
agessaman 0c190dac50 Refactor MQTTBridge to eliminate raw data mutex usage, simplifying raw data handling. Introduce core-specific staging for raw radio data, ensuring thread safety without mutexes. Adjust MAX_QUEUE_SIZE for memory efficiency and update related comments for clarity. 2026-04-14 16:55:55 -07:00
agessaman 961f829321 Enhance radio watchdog functionality in Dispatcher to prevent false alarms in quiet mesh environments. Introduce a composite timestamp for radio activity, incorporating last RX, ISR events, and successful TX. Update related methods in Dispatcher and RadioLibWrapper to track radio activity accurately. This improves radio management and troubleshooting capabilities. 2026-04-14 16:16:49 -07:00
agessaman 7e4f75c9a5 Add radio diagnostics support in MyMesh and CommonCLI
Implement a new method `formatRadioDiagReply` in MyMesh to format and return radio diagnostic information. Update CommonCLI to handle the new command for retrieving radio diagnostics. Enhance the Dispatcher class with a radio watchdog feature to monitor and recover from silent radio states. Introduce new error flags and methods in the Dispatcher and RadioLibWrapper classes to support these diagnostics, improving overall radio management and troubleshooting capabilities.
2026-04-10 08:48:22 -07:00
agessaman 74e45a795c Enhance MQTTMessageBuilder to include internal heap memory statistics in status messages. Update function signature and JSON serialization to accommodate the new internal_heap parameter, improving diagnostics for memory management in MQTTBridge. 2026-04-06 18:00:50 -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 1c524a9392 Update MQTT_IMPLEMENTATION.md to streamline radio parameter configuration. Replace individual commands for frequency, spreading factor, bandwidth, and coding rate with a single set radio command for improved clarity and ease of use. Adjust example values to ensure consistency across documentation. 2026-04-04 16:11:05 -07:00
agessaman 47b632aaa9 Refactor MQTT bridge handling in MyMesh to support RX and TX packet logging based on MQTT settings. Introduce mqtt_rx_enabled preference for default RX packet handling and update related logic in CommonCLI and MQTTBridge for improved configuration management. Enhance MQTTMessageBuilder to conditionally include SNR and RSSI for RX packets only. 2026-04-04 16:01:35 -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
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
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
agessaman a4324a830a Fix audience command parsing in CommonCLI to correctly handle 9-character prefix. This adjustment ensures proper audience configuration for MQTT slots, enhancing the functionality introduced in previous commits. 2026-03-30 22:09:34 -07:00
agessaman 1263e71d31 Enhance MQTT implementation by adding support for JWT audience configuration in custom slots. Update MQTTBridge and CommonCLI to handle audience settings, enabling JWT authentication for custom brokers. Modify documentation to reflect changes in command usage and provide examples for custom broker setup with JWT authentication. 2026-03-30 21:44:05 -07: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 384b80fc05 Remove obsolete MQTT documentation files, including buffer optimization, library alternatives, memory analysis, responsiveness optimizations, and stability review. These files are no longer relevant to the current implementation and have been superseded by updated documentation. 2026-03-28 17:17:03 -07:00
agessaman ff49d28ffb Update README.md to include MQTT Observer Setup instructions, linking to the MQTT Implementation Guide for configuration and troubleshooting details. 2026-03-28 17:13:58 -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
agessaman 3eacf56e36 Update MQTT presets to add 'meshomatic' and enhance error handling in MQTTBridge. Modify custom preset logic to disable slots with no server configured, and improve error logging for connection issues, ensuring clearer diagnostics during MQTT operations. 2026-03-27 15:20:54 -07:00
agessaman 47dd218275 Enhance MQTTBridge memory management by introducing a pre-allocated JSON publish buffer in PSRAM. This change reduces allocation overhead during publish operations and improves overall efficiency. Additionally, update teardown logic to free the new buffer and refine broker URI handling for custom slots, ensuring proper connection management. 2026-03-26 21:10:44 -07:00
agessaman 1b5884bd35 Add reconnect method to PsychicMqttClient for improved MQTT client management
This commit introduces a new `reconnect` method in the `PsychicMqttClient` class, allowing for re-establishing a connection to the MQTT broker without needing to disconnect first. The method checks if the client is initialized, updates the configuration if necessary, and attempts to reconnect, enhancing the overall connection management. Additionally, the MQTT slot management has been updated to support up to 6 configurable slots, improving flexibility in connection handling.
2026-03-25 21:39:51 -07:00
ripplebizandGitHub 517f2f1efd Merge pull request #1961 from weebl2000/dutycycle-command
Add get/set dutycycle command
2026-03-26 11:54:41 +11:00
agessaman af52a989c4 Enhance MQTTBridge connection handling for JWT authentication by implementing lightweight reconnect logic. This allows for token refresh without full teardown when tokens are still valid, improving efficiency. Full teardown is retained for expired or near-expiry tokens to ensure fresh TLS state and credentials. Update debug logging for clarity on reconnect attempts and token status. 2026-03-25 17:42:04 -07:00
fdlamotteandGitHub 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
Scott Powell 2325973fec * Companion: applyGPSPrefs() now just in one place (moved out of UITask) 2026-03-25 16:26:51 +11:00
agessaman e29c3d96bc Refactor MQTTBridge connection handling for JWT authentication. Implement full teardown and setup for JWT slots to ensure fresh TLS state and credentials during reconnect attempts. Preserve circuit breaker and backoff states across teardown to enhance connection stability and reliability. 2026-03-24 20:35:37 -07:00
agessaman 2bbca20648 Refactor MQTTBridge logging to standardize slot output format. Update debug messages to include 'MQTT' prefix and slot numbering for improved clarity in logs. This change enhances readability and consistency across the MQTTBridge's logging functionality. 2026-03-24 18:55:30 -07:00
agessaman eaf5fcbc9b Update MQTT presets to include 'cascadiamesh' and enhance error messaging in CLI. Introduce keepalive configuration for MQTT presets and improve slot management in MQTTBridge for better token handling and connection stability. 2026-03-24 16:58:26 -07:00
Liam CottleandGitHub 8637a749f7 Merge pull request #2018 from got-root/fix/companion-radio-gps-persistence
fix(companion_radio): apply persisted GPS enabled setting on boot for ui-orig devices
2026-03-25 09:38:03 +13:00
Alejandro Ramirez f8dbdce6bb fix: apply persisted GPS enabled setting on boot for companion radio
The companion_radio example was not restoring the GPS enabled/disabled
preference from flash after reboot. The preference was being saved
correctly when toggled via the mobile app, but on boot,
sensors.begin() -> initBasicGPS() unconditionally sets gps_active=false
and nothing subsequently restored the persisted state.

Added applyGpsPrefs() (matching the pattern in simple_repeater,
simple_sensor, and simple_room_server) and call it from main.cpp
after sensors.begin() to ensure the GPS hardware is initialized
before the saved preference is applied.
2026-03-24 09:10:09 -05:00
agessaman 1c98d1c605 Update MQTTBridge to adjust minimum valid epoch time for NTP synchronization and enhance slot management. Implement logic to re-create JWT tokens for slots if time correction indicates stale tokens after NTP sync. 2026-03-24 05:54:38 -07: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
Wessel Nieboer 37d1a75e7c Merge branch 'dutycycle-command' of github.com:weebl2000/MeshCore into dutycycle-command 2026-03-24 03:08:54 +01:00
Wessel Nieboer fb08fc0b1e restore docs 2026-03-24 03:08:18 +01:00
Liam CottleandGitHub bdf10506f2 Merge pull request #2134 from jeroenvermeulen/station-g2-default-radio-rxgain
Fix default radio.rxgain for Station G2
2026-03-24 14:11:08 +13:00
Jeroen VermeulenandGitHub 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
Wessel NieboerandWessel Nieboer 728b586c3a Address comments 2026-03-23 14:31:08 +01:00
Wessel NieboerandViezeVingertjes 741392889d Fix memcp compare length off by one
Co-authored-by: ViezeVingertjes <michael.overhorst@gmail.com>
2026-03-23 14:31:08 +01:00
Wessel NieboerandWessel Nieboer 0aa0ec1f16 Add get/set dutycycle command
We translate to af internally, it's easier to store and doesn't break
stored prefs. Made get/set af command show deprecated, but it still
works fine.
2026-03-23 14:31:07 +01:00
ripplebizandGitHub df01fd3efb Merge pull request #2130 from liamcottle/refactor/channel-data
Adjustments to PR #1928 - Custom Group Data
2026-03-23 22:13:34 +11:00
liamcottle 1d61df72c3 add define for reserved group data type 2026-03-23 23:09:35 +13:00
liamcottle c78f7133c9 reorder command args 2026-03-23 23:02:24 +13:00
liamcottle ed326255d5 add support for direct paths when sending group data 2026-03-23 21:46:21 +13:00
Liam CottleandGitHub 91aed048e9 Merge pull request #1928 from dz0ny/feat/grp-data-upstream
feat: Add support for PAYLOAD_TYPE_GRP_DATA
2026-03-23 21:41:51 +13:00
Liam CottleandGitHub 7d49faa6f7 Merge pull request #2106 from jeroenvermeulen/document-radio.rxgain
Documented get/set radio.rxgain + discover.neighbors
2026-03-23 12:21:40 +13:00
Jeroen VermeulenandGitHub 54f6ac4929 Add discover.neighbors command documentation 2026-03-22 21:35:02 +01:00
Jeroen VermeulenandGitHub 46de7f46dd Merge pull request #1 from meshcore-dev/dev
Update from Main repo's dev
2026-03-22 21:26:47 +01:00
Jeroen VermeulenandGitHub f543ba22de Update temporary note with a hyperlink to issue #2118 2026-03-22 21:19:06 +01:00