Commit Graph
113 Commits
Author SHA1 Message Date
sh4un f4adf90eb0 Harden the production bridge for 2.2.0
Make the async runtime use the same forwarding path, wire message
persistence and configurable rate limits, add API token auth, retry
Meshtastic on boot, and tighten CI plus systemd packaging.
2026-08-17 21:47:36 -04:00
sh4un 2c66cfe7d3 Add operator preflight workflow 2026-06-12 20:48:54 -04:00
sh4un f9a3c55ad5 Use Meshtastic long names in bridged messages
Fixes #15
2026-05-24 21:07:17 -04:00
sh4un ed617be1db Enhance Meshcore Companion Protocol and Documentation
- Added structured decoding for companion contact records, self info, device info, and new adverts in MeshcoreCompanionProtocol.
- Improved logging for companion events and updated health monitoring.
- Updated README and configuration documentation to reflect new companion settings and structured event logging.
- Enhanced terminal command center to display companion-specific settings only when applicable.
- Added tests for new companion protocol features and ensured proper handling of internal-only events.
2026-05-19 21:52:38 -04:00
sh4un 25b46d9555 Merge pull request #14 from aido/v2.1.1
V2.1.1
2026-05-19 20:55:27 -04:00
sh4un 1ae12c885b Update documentation dates and enhance usage instructions for runtime modes 2026-05-18 20:11:10 -04:00
sh4un e26e06c9d0 Add TUI preview HTML and bridge TUI entry point
- Implemented `run_bridge_tui.py` as the entry point for launching the TUI, including configuration loading and error handling.
- Added unit tests in `tests/test_tui.py` for the TUI components, including configuration redaction and bridge controller functionality.
2026-05-18 19:05:57 -04:00
Aido d52c9c57f6 Added contact packet types to protocol handler
Setting `COMPANION_CONTACTS_POLL_S` > 0 polls for contacts periodically, but the protocol handler cannot process the fetched contact list, resulting in protocol auto-switching being needlessly triggered.
Rather than ignoring these contact packets and returning `None` from `MeshcoreCompanionProtocol.decode()`, it now returns `internal_only = True`. This sets the groundwork for future full, correct processing of contacts.
2026-05-15 22:16:28 +01:00
Aido da3efd05e8 Added Meshtastic ID to messages bridged to MeshCore
MeshCore messages already prepend the MeshCore ID to messages bridged to Meshtastic, so now conversely, Meshtastic IDs are prepended to messages bridged to MeshCore.
2026-05-15 22:15:53 +01:00
Aido a51a3e09ad Added channel_index key to external_message dict
The `external_message` dict in the Meshtastic handler is missing the `channel_index` key, which means that `channel_index = decoded_msg.get("channel_index", 0)` in the MeshCore handler will always incorrectly default to 0
2026-05-15 18:14:02 +01:00
sh4un bfd99040e4 Merge pull request #13 from aido/v2.1.0
Added configuration settings for bridging specific channels
2026-05-06 12:19:16 -04:00
Aido e7508a323d Merge branch 'main' into v2.1.0 2026-04-30 02:54:44 +01:00
Aido 02737b879b Fixed companion radio decoding to be more robust
`PACKET_LOG_DATA` and `PACKET_ADVERTISEMENT` are quite common and too many `PACKET_LOG_DATA` packets in a row needlessly triggers protocol auto switching.
Rather than ignoring these packets and returning `None` from MeshcoreCompanionProtocol.decode() instead return `internal_only = True`
2026-04-21 21:03:34 +01:00
Aido 03fb291cb7 Added configuration settings for bridging specific channels 2026-04-21 21:03:20 +01:00
sh4un ed321dceda chore: update pytest-asyncio version in development requirements 2026-04-17 14:36:27 -04:00
sh4un a1a5178122 chore: update Python version requirements and add VSCode settings for development 2026-04-17 14:36:27 -04:00
sh4un 3cf9ea5d22 Refactor test and configuration files for improved readability and consistency
- Updated test_protocol.py to maintain consistent formatting and structure.
- Adjusted tmp_no_default.ini to use consistent line endings.
- Reformatted tmp_run_load.py and tmp_test_config.py for improved readability.
2026-04-17 14:36:27 -04:00
Aido 3e30c8e189 Added support for python -m build 2026-04-17 18:22:53 +01:00
sh4un 63ec3c19b7 Fix formatting issue in README.md 2026-04-10 12:44:33 -04:00
sh4un 0265c9f8bf Fix missing newline at end of README.md
Add a newline at the end of the README file
2026-03-12 11:44:49 -04:00
sh4un ba9572bd91 feat: add integration tests for MeshCore ↔ Meshtastic bridge flow without physical devices 2026-02-09 08:51:48 -05:00
sh4un f23069df17 feat: implement message polling and handling for companion protocol 2026-02-09 08:38:33 -05:00
sh4un 920b433f97 feat: update documentation and configuration for enhanced MeshCore Companion support 2026-02-07 14:30:07 -05:00
sh4un f64b3ae9ec Add comprehensive tests for meshcore-related functionality
- Introduced `test_meshcore.py` with extensive unit tests for:
  - RawSerialProtocol and MeshcoreCompanionProtocol
  - MessageValidator
  - MeshcoreHandler and MeshcoreAsyncHandler
- Enhanced `conftest.py` to include new configuration option `SERIAL_AUTO_SWITCH`.
- Verified encoding and decoding processes for various message types.
- Ensured proper handling of edge cases and error conditions.
2026-02-07 14:24:45 -05:00
sh4un 86aefd1b3e feat: update MeshCore configuration for Companion USB support with optional settings 2026-02-06 17:39:51 -05:00
sh4un 1ac5f8c3ba UPdate README.md 2026-02-04 11:17:53 -05:00
sh4un 098910e320 feat: enhance companion radio support with new configuration options and message handling 2026-02-04 11:14:45 -05:00
sh4un 12bb53aa64 feat: update Meshcore Companion Radio Protocol handler for USB framing and payload processing 2026-02-04 10:15:16 -05:00
sh4un b6993ae952 feat: conditionally initialize Meshtastic handler based on configuration 2026-01-31 18:15:00 -05:00
sh4un 61c8c26fda Merge pull request #12 from AkitaEngineering/examples/config-templates
feat: add async support for Meshcore Bridge with REST API and MQTT in…
2026-01-31 12:53:39 -05:00
sh4un 4bacbbf111 feat: add async support for Meshcore Bridge with REST API and MQTT integration 2026-01-31 12:50:40 -05:00
sh4un 1b38d7a301 Merge pull request #11 from AkitaEngineering/examples/config-templates
Meshcore Companion Radio Protocol handler with encoding and…
2026-01-31 10:26:58 -05:00
sh4un 3703f32f87 feat: add Meshcore Companion Radio Protocol handler with encoding and decoding support 2026-01-31 10:25:38 -05:00
sh4un d3a89eb859 Merge pull request #10 from AkitaEngineering/examples/config-templates
feat: add logging for raw protobuf messages as JSON on receive and send
2026-01-29 21:07:34 -05:00
sh4un 80546a0936 feat: add logging for raw protobuf messages as JSON on receive and send 2026-01-29 21:04:48 -05:00
sh4un 6f5da1f4e5 Merge pull request #9 from AkitaEngineering/examples/config-templates
feat: implement serial protocol auto-switching and enhance thread man…
2026-01-29 21:00:41 -05:00
sh4un 58c30b9f47 feat: implement serial protocol auto-switching and enhance thread management 2026-01-29 20:58:14 -05:00
sh4un f0fe6f8c97 Merge pull request #8 from AkitaEngineering/examples/config-templates
a few quick fixes.
2026-01-29 17:38:53 -05:00
sh4un ee959989e7 Merge branch 'main' into examples/config-templates 2026-01-29 17:24:51 -05:00
sh4un ab20a6ae12 fix: update health monitoring on serial data receive and send; change default serial protocol to json_newline
Signed-off-by: sh4un <97253929+sh4un-dot-com@users.noreply.github.com>
2026-01-29 17:14:46 -05:00
sh4un 500fa955b7 Merge pull request #7 from AkitaEngineering/docs/lint-policy
Merge pull request #6 from AkitaEngineering:examples/config-templates
2026-01-29 17:08:50 -05:00
sh4un 088c7fcc28 Merge pull request #6 from AkitaEngineering:examples/config-templates
Enhance configuration management and logging
2026-01-29 17:05:10 -05:00
sh4un 80aa292995 Merge pull request #5 from AkitaEngineering/examples/config-templates
fix: update _on_meshtastic_receive method to include weak reference p…
2026-01-28 18:37:24 -05:00
sh4un 89037a1bfe fix: update _on_meshtastic_receive method to include weak reference parameter 2026-01-28 18:23:13 -05:00
sh4un aba0b52f84 Merge pull request #4 from AkitaEngineering/examples/config-templates
Examples/config templates
2026-01-28 15:41:47 -05:00
sh4un d45d230ebd fix: improve config loading with default values and enhance logging setup 2026-01-28 15:35:42 -05:00
sh4un 56623f9804 Update CHANGELOG, enhance configuration loading with default values, and add tests for missing defaults 2026-01-22 21:40:34 -05:00
sh4un 397cbde6bf examples: add local config templates for MQTT and serial simulator 2026-01-22 21:37:00 -05:00
sh4un b30461b056 docs: add flake8 config and linting policy; add changelog entry 2026-01-22 21:22:00 -05:00
sh4un e9ebb338b4 Update CHANGELOG, enhance configuration loading with default values, and add tests for missing defaults 2026-01-22 17:20:30 -05:00