Skip to content

fix: parse TraceData SNR count from path_sz flags#30

Open
rinchen wants to merge 1 commit into
meshcore-dev:masterfrom
rinchen:fix/tracedata-path-snr-parsing
Open

fix: parse TraceData SNR count from path_sz flags#30
rinchen wants to merge 1 commit into
meshcore-dev:masterfrom
rinchen:fix/tracedata-path-snr-parsing

Conversation

@rinchen

@rinchen rinchen commented Jul 19, 2026

Copy link
Copy Markdown

Summary

  • Parse TraceData flags/tag/authCode before reading path hashes.
  • Compute SNR count as pathLen >> (flags & 0x03) and read snrCount + 1 bytes (path SNRs + last SNR).
  • Avoids frame over-read on multi-hop traces where path hash bytes ≠ SNR count.

Context

Colorado-Mesh/mesh-client currently carries this as a pnpm patch against @liamcottle/meshcore.js@1.13.0. Matches companion radio TraceData wire layout used by MeshCore firmware.

Test plan

  • Run a 0-hop ping/trace and confirm TraceData emits sane pathSnrs / lastSnr
  • Run a multi-hop ping/trace and confirm path hash length and SNR count stay consistent (no truncated/overread fields)

Companion TraceData frames encode SNR count as pathLen >> (flags & 0x03),
not as pathLen bytes. Reading pathLen SNRs overruns/underreads the frame
on multi-hop traces and corrupts lastSnr.

Carried as a pnpm patch in Colorado-Mesh/mesh-client.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant