Implement ATAK Plugin V2 and drop unishox2 compression support#10105
Open
thebentern wants to merge 10 commits into
Open
Implement ATAK Plugin V2 and drop unishox2 compression support#10105thebentern wants to merge 10 commits into
thebentern wants to merge 10 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Implements ATAK Plugin V2 handling by moving ATAK payloads to the ATAK_PLUGIN_V2 port and removing Unishox2-based string compression from the firmware path.
Changes:
- Switch TAK tracker PLI generation to
TAKPacketV2onmeshtastic_PortNum_ATAK_PLUGIN_V2with a flags-byte-prefixed wire payload. - Simplify
AtakPluginModuleinto aSinglePortModulepassthrough (no protobuf decode/alter/compression in firmware). - Remove Unishox2 compression implementation files from the codebase.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/modules/PositionModule.cpp | Generates ATAK V2 PLI packets and prefixes payload with a flags byte. |
| src/modules/AtakPluginModule.h | Refactors module to SinglePortModule and updates module documentation for V2 passthrough. |
| src/modules/AtakPluginModule.cpp | Removes legacy protobuf-based compression/decompression logic; keeps minimal passthrough handler. |
| src/mesh/compression/unishox2.h | Deletes Unishox2 public API header. |
| src/mesh/compression/unishox2.cpp | Deletes Unishox2 implementation. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tion source mapping
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…needs no periodic scheduling Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/bdc82eb6-77c4-4711-839c-04bcbb1aa9cd Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves ATAK PLI traffic to
ATAK_PLUGIN_V2port using a flags-byte-prefixedTAKPacketV2protobuf wire format, and removes all Unishox2 compression from the firmware path. Compression/decompression is now delegated entirely to client apps.Changes
PositionModule: TAK tracker PLI now encodes toTAKPacketV2protobuf onmeshtastic_PortNum_ATAK_PLUGIN_V2. Payload wire format:[1 byte flags (0xFF = uncompressed sentinel)][raw TAKPacketV2 protobuf]. Includes correctground_track→ degrees×100 unit conversion and NUL-terminated callsign copies.AtakPluginModule: Simplified to a pureSinglePortModulepassthrough — no protobuf decode, no compression, no periodicOSThreadscheduling. RemovedOSThreadinheritance,runOnce(), and all unused includes.unishox2.cpp/unishox2.hfrom the codebase entirely.Wire format (ATAK_PLUGIN_V2)
🤝 Attestations