MRRC FT-710
Software Design Description

Canonical design record for architecture, interfaces, operational model, and runtime evolution of the FT-710 web control system.

Browse SDD Chapters Back to Product Page

SDD Scope

IBM TeamSD aligned, 15 chapters, implementation-grounded content.

AttributeValue
Document IDSDD-MRRC-FT710-2026-001
VersionV2.18
Baseline Date2026-08-16
RuntimePython 3.12+, FastAPI, Uvicorn, PyAudio, NumPy
FrontendHTML5, CSS3, vanilla JavaScript, Web Audio API
Core Interfaces4 WebSockets + Serial CAT + FT4222 SPI + USB Audio

What Changed In V2.18

Native Android Client

New FT710Android/ subproject (Kotlin + Jetpack Compose, minSdk 26): 4+1 WebSocket channels, NDK-built libopus, DataStore + Keystore credentials — functionally aligned with the web frontend (control, RX/TX audio, spectrum, meters, memory channels, optional ATR1000).

PTT Safety by Design

Pure-Kotlin PTTManager state machine: press only when connected, gesture-finally release, 500ms watchdog with onStuckTX, lifecycle onStop force-release — the iOS P0 race classes are designed out, not patched.

Web UI Compaction

Waterfall/FFT canvases compacted (mobile 45/22px, desktop 80/40px); page scrolls instead of a fixed viewport; RF Gain slider moved from the controls row into the menu Settings.

Android Verification

33 JVM tests green; ./gradlew test assembleDebug lintDebug clean; APK ships NDK libopus. Design spec + 19-task plan marked implemented; device acceptance pending.

15 SDD Chapters

AD-001 ... AD-015

AD-001 FastAPI/Uvicorn AD-002 Direct CAT AD-003 Dirty State Broadcast AD-004 Tagged Opus/PCM Audio AD-005 scope_pipe Isolation AD-006 Dual-Mode Spectrum AD-007 PTT Safety Flow AD-008 Audio Auto-Detection AD-009 7-Task Polling AD-010 JSON Memory Channels AD-011 48kHz Codec + 44.1kHz Bridge AD-012 Active-VFO Tracking AD-013 Meter Calibration AD-014 CAT Errata Handling AD-015 Priority CAT Preemption