This PR delivers a broad set of compatibility, firmware, and hardware improvements across the stack.#72
Conversation
- Added support for persisted default flood scope with commands `CMD_SET_DEFAULT_FLOOD_SCOPE` and `CMD_GET_DEFAULT_FLOOD_SCOPE`. - Introduced `CMD_SEND_CHANNEL_DATA` for sending binary channel datagrams. - Enhanced flood transport key resolution to utilize the default scope when transient keys are unset. - Updated frame server and bridge to handle new commands and ensure compatibility with firmware v1.15. - Added tests for default flood scope functionality and channel data processing.
Fix: Luckfox Pico Pi SX1262 Timing Issue
FIRMWARE_VER_CODE 10→11: MeshMapper requires ≥11 for full protocol support. _cmd_export_contact self-export now emits a real MeshCore advert packet (header + path_len + pubkey + timestamp + Ed25519 sig + appdata) instead of the previous custom struct. The wardrive API verifies the signature using the standard advert format; the old struct caused signature verification to fail with HTTP 400 on every registration attempt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Feat/compatibility 1150
…parity Upstream meshcore-dev/MeshCore Packet.h defines four payload-version constants (PAYLOAD_VER_1..PAYLOAD_VER_4); pyMC_core currently exposes only the first two. Downstream tooling that diffs the PH_* / PAYLOAD_VER_* sets against pinned upstream Packet.h flags PAYLOAD_VER_3 (0x02) and PAYLOAD_VER_4 (0x03) as upstream-only. Add both as named constants alongside PAYLOAD_VER_2, marked as 'Reserved for future use' to match how PAYLOAD_VER_2 is already treated. No behavioral change: MAX_SUPPORTED_PAYLOAD_VERSION is unchanged, so Packet.read_from() continues to accept only versions 0-1; the new constants only provide stable names for the reserved version values. Co-Authored-By: Oz <oz-agent@warp.dev>
protocol: add PAYLOAD_VER_3 and PAYLOAD_VER_4 constants for upstream parity
Two stdlib-friendly LoRa radio drivers that talk to the pymc_usb firmware (https://github.com/itk80/pymc_usb) over a TCP socket or USB-CDC respectively. Drop-in replacement for SX1262Radio when the SX1262 module isn't attached to the same host as pymc_core (sector arrays, distant antennas, multi-modem deployments). Wire protocol is bit-identical between the two; only the transport differs. CRC-16/CCITT-FALSE framing verified against fixed reference vectors in tests/hardware/test_tcp_radio_protocol.py (20 tests, no hardware required). examples/common.py: support radio_type='pymc_tcp' and 'pymc_usb', configurable via PYMC_TCP_HOST / PYMC_TCP_PORT / PYMC_TCP_TOKEN env vars (with legacy HELTEC_* aliases retained for backward-compat).
This PR adds a shared wire-protocol module plus two new LoRaRadio implementations (TCP + USB-CDC) that talk to a remote pymc_usb firmware modem, enabling MeshCore host deployments where the SX1262 is not physically attached to the host running pymc_core. this is a local LAN system and firmware prevents any WAN links using this system.
Update README.md
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.
This PR delivers a broad set of compatibility, firmware, and hardware improvements across the stack: