Janez T bdbceece75 fix: Normalize raw transport path for firmware v1.15 photo/audio transfer
CMD_SEND_RAW_DATA (0x19) was passed the encoded MeshCore route descriptor
(e.g. 0x41 for a 1-hop 2-byte-hash route), but the v1.15 companion firmware
raw-data handler treats the path byte as a legacy literal hop count, not an
encoded descriptor. It misread 0x41 as "65 path bytes" and rejected the
command (ERROR: Unsupported command), so media fetch always failed while
normal messaging worked.

- Add ContactRouteCodec.toLegacyRawPath() converting encoded descriptor +
  path into legacy format (literal hop count + first byte of each hop hash).
- Apply it in ConnectionProvider.sendRawVoicePacket, the single chokepoint
  all raw media (voice/image fragments, swarm, route probes) flows through.
- Pace served fragments 350ms apart to avoid firmware "ERROR: Table full"
  when bursting many raw packets.
- Tests for the descriptor conversion.

Fixes #43

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 10:38:05 +02:00
2026-04-26 08:30:28 +02:00
2026-04-26 08:30:28 +02:00
2026-04-26 08:30:28 +02:00
2026-05-27 10:45:51 +02:00
2026-03-19 21:38:54 +01:00
2026-05-27 10:45:51 +02:00
2026-04-05 18:01:05 +02:00
2026-05-27 10:45:51 +02:00
2026-03-22 16:02:17 +01:00
2026-04-01 13:35:02 +02:00
2026-05-27 10:45:51 +02:00
2026-05-27 10:45:51 +02:00
2026-05-22 12:46:29 +02:00

MeshCore SAR icon

MeshCore SAR

Field-ready Search and Rescue coordination over MeshCore + BLE

Platform Mode Use case

MeshCore SAR helps teams coordinate in low-connectivity or no-connectivity environments with messaging, voice, images, maps, and live location context in one app. It uses the MeshCore protocol over LoRa for long-range, infrastructure-free communication. iOS TestFlight: https://testflight.apple.com/join/tngpPF12

Highlights

  • Rapid mesh chat for both 1:1 and group coordination
  • On-demand voice (Codec2) and image (AVIF) transfer tuned for low-bandwidth links
  • Offline-first mapping with tactical overlays and SAR incident markers
  • Live team location, movement trails, and shareable tactical drawings

Demo Video

MeshCore SAR demo preview

Screenshots

Map view with live team context Compass and navigation view Contacts and repeaters list Messages with voice and image cards Quick actions sheet for SAR, voice, and image

Feature Overview

Area What you get
Messaging Direct and group chat over mesh, with contact/room awareness from live telemetry
Voice Push-to-talk voice clips (Codec2), fetched on demand when play is pressed, auto-play on completion
Images Camera/gallery image sending (AVIF), auto-compression, tap-to-load receiving, full-screen viewer
Maps Street/topo/satellite/terrain layers, offline tile downloads, optional MBTiles import
SAR Operations Team markers with freshness indicators, SAR markers for incidents and staging points
Tracking Continuous GPS updates, personal trails, distance/duration trail stats
Trail Interop GPX export/import for trail sharing and reuse
Tactical Drawing Line/rectangle drawing, distance measurement, drawing sharing to channel/room

Voice, Image, and Maps

Voice

  • Built for short, urgent field communication
  • On-demand playback fetch reduces unnecessary mesh traffic
  • Ideal when typing is impractical during active operations

Images

  • Pre-send optimization for constrained links
  • Tap-to-load receiving keeps channels lightweight
  • Full-screen view supports rapid field verification

Maps

  • Works in both online and offline workflows
  • SAR context with team markers, incident markers, and orientation tools
  • Combines location, messaging, and tactical layers in one place

Built For

  • Search and Rescue field teams
  • Incident command and coordination roles
  • Operators working in weak/no cellular coverage

Permissions (App Use)

  • Bluetooth: mesh device communication
  • Location: team tracking and map position updates
  • Microphone: voice clip recording
  • Camera / Photos: image messaging
Description
No description provided
Readme 703 MiB
2026-06-17 05:10:09 +00:00
Languages
Dart 97.1%
TypeScript 1.2%
C++ 0.5%
CMake 0.4%
Shell 0.2%
Other 0.3%