Commit Graph
16 Commits
Author SHA1 Message Date
Janez T 17d7c43745 Implement meshcore-open route reload 2026-03-08 14:26:05 +01:00
Janez T 9ff24c1fcb Fix invalid objective_c framework 2026-03-08 09:40:10 +01:00
Janez T 1c3af4f927 Upgrade flutter packages and limit 2026-03-07 20:59:01 +01:00
Janez T 3433eae3a6 Remove unused path_provider entry 2026-03-07 20:23:09 +01:00
Janez T 6bfc08f3ae Keep contact GPS location saved 2026-03-07 18:30:36 +01:00
Janez T 0e4f727e26 Add swarm mode transport doc 2026-03-07 14:13:54 +01:00
Janez T 2bc0e21cf0 Remove 100ms BLE command delay 2026-03-07 09:23:29 +01:00
Janez T f6c5a3a4ca Add transmission timing details 2026-03-07 09:05:55 +01:00
Janez T 0e1a56d765 Log contact data without revealing 2026-03-06 20:47:02 +01:00
Janez T 96feb75712 feat: save all pending work
ref:
2026-03-06 20:01:56 +01:00
Janez T 84a6f81c26 feat: replace SSE client with direct TCP/WiFi connection
- Remove SseClientService and ConnectionMode.sseClient
- Add ConnectionMode.tcp with MeshCoreTcpService (port 5000)
- NetworkScannerService: scan TCP port 5000 via raw Socket.connect
- mDNS service type changed to _meshcore._tcp
- connection_dialog: connect via connectTcp() instead of connectToSseServer()
- home_screen: show WiFi icon and label for TCP mode
- Bump meshcore_client to pick up TCP transport support
2026-03-04 19:11:16 +01:00
Janez T 4d0c45c11c Include client repeat info 2026-03-02 09:02:20 +01:00
Janez T 474fd02635 fix: retain voice codec settings now
ref:
2026-03-01 11:00:30 +01:00
Janez T f96d8022ac feat: add Codec2 voice messages over LoRa mesh (iOS/macOS only)
Push-to-talk voice messaging using the Codec2 ultra-low-bitrate speech
codec, transmitted as V: prefixed packets over the existing MeshCore
LoRa mesh pipeline.

Voice recording UI (long-press send button or + menu) is gated behind
Platform.isIOS || Platform.isMacOS since the `record` package only
supports microphone capture on those platforms in this build.

Key changes:
- VoiceRecorderService: streams 8kHz mono PCM chunks via `record` package
- VoicePlayerService: decodes Codec2 bytes to WAV and plays via audioplayers
- VoiceCodecService: async Codec2 encode/decode in background isolates
- VoiceProvider: reassembles multi-packet sessions, drives playback
- VoiceMessageBubble: shows packet progress, play/stop controls
- MessagesProvider: detects V: prefix, routes to VoiceProvider
- MessagesTab: PTT long-press gesture + recording indicator (iOS/macOS)
- Message model: isVoice + voiceId fields for session tracking
- Auto-selects codec mode from radio bandwidth (700C/1200/1300 bps)
- codec2_flutter + meshcore_client switched from path to git deps
2026-02-28 19:19:46 +01:00
Janez T c39e0e1344 refactor: extract BLE protocol stack into meshcore_client package
Move BLE communication layer (command queue, frame parser/builder,
protocol constants, data models) into a standalone reusable Dart package
at ../meshcore_client. App model files become thin re-export wrappers,
keeping all existing consumers working without import changes.
2026-02-28 14:09:30 +01:00
Janez TandClaude Sonnet 4.6 baf49d27d8 feat: MeshCore SAR - Flutter BLE mesh radio companion app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 10:11:33 +01:00