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
ripplebiz and GitHub
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
fdlamotte and GitHub
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 Cottle and GitHub
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 Cottle and GitHub
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 Vermeulen and GitHub
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 Nieboer and Wessel Nieboer
728b586c3a
Address comments
2026-03-23 14:31:08 +01:00
Wessel Nieboer and ViezeVingertjes
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 Nieboer and Wessel 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
ripplebiz and GitHub
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 Cottle and GitHub
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 Cottle and GitHub
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 Vermeulen and GitHub
54f6ac4929
Add discover.neighbors command documentation
2026-03-22 21:35:02 +01:00
Jeroen Vermeulen and GitHub
46de7f46dd
Merge pull request #1 from meshcore-dev/dev
...
Update from Main repo's dev
2026-03-22 21:26:47 +01:00
Jeroen Vermeulen and GitHub
f543ba22de
Update temporary note with a hyperlink to issue #2118
2026-03-22 21:19:06 +01:00