跨三项目的 FDE 实战

一套方法论
三款产品

FDE(驻场工程)不是纸上谈兵——MRRC 历经 15 个周期演进(2026 年 3–6 月)、 SunSDR2 DX 首次提交到 V1.0 仅 4 天(6/21→6/24)、 SunsdrMobile iOS 一次提交即发布完整 App(7/1)。 每个项目都在加速下一个。

15MRRC 周期(3–6 月)
4 天SunMRRC → V1.0
1 次提交SunsdrMobile V1.0
0iOS 服务端改动

演进链条

三个项目,一条 FDE 流水线。MRRC:15 周期(3–6 月)。SunMRRC:40+ 提交 / 13 天(6/21–7/3),V1.0 仅用 4 天。SunsdrMobile:4 次提交(7/1–7/4),服务端零改动。每个项目的 Product 阶段成为下一项目的 Echo 基线。

FDE 演进链条 MRRC 产出可复用远程控制资产,SunMRRC 将其扩展为 SDR 服务器,SunsdrMobile 在服务端零改动下交付原生 iOS 客户端。 基础 MRRC 通用 HF 远程控制 15 周期 / 280+ 提交 / 16 个资产 逆向 + 重建 SunMRRC SunSDR2 DX 服务器 5 WebSocket / IQ DSP / V1.0 仅 4 天 原生 App SunsdrMobile iOS SwiftUI 客户端 单次 V1.0 提交 / 服务端零改动

MRRC — 15 个 FDE 周期奠定基础

每个周期 = Echo(发现需求)→ Delta(快速原型)→ Product(抽象泛化)。每次抽象都成为可复用资产,为后续周期和后续项目铺路。

从原始分支到量产系统

MRRC 起源于 F4HTB 的分支——一个 Python WebSDR 收发控制项目。上游仅支持 Linux、硬编码单一电台、无移动端支持。第 1 个 FDE 周期问了一个简单问题:"用户真正需要什么?"答案是跨平台、移动端、多电台。

每个周期至少产出一个可复用抽象:PyAudio 跨平台音频(V2.0)、AudioWorklet 低延迟流水线(V3.0)、PTT 预加热可靠性框架(V4.0)、ATR-1000 独立代理(V4.5)、WDSP Python 封装(V4.9)、Glassmorphism 设计系统(V5.0)、RagChew 发射音频预设(V5.1)、MemoryChannelManager(V5.5)、LearningBuffer(V5.6)。

到 V5.6.5,16 个可复用资产构成完整平台。下一个项目不再从零开始——而是从杠杆资产出发。

MRRC 杠杆指标

总周期数15
Git 提交280+
设计文档60+
可复用资产16
第 1 周期耗时~4 周
第 15 周期耗时~1 周
速度提升
关键抽象模块PyAudio, AudioWorklet, WDSP, PTT-FW, ATR-proxy, MemoryChannelMgr
阶段周期关键事件杠杆产出
基础1–3WebSocket + 跨平台音频 + 移动端 UI音频流水线、移动端框架
沉淀间隔期14 个月日常使用——真实痛点积累真实使用数据
核心系统4–6PTT 可靠性、ATR-1000 代理、WDSP NR2PTT 框架、ATR 代理、WDSP 封装
打磨7–12Ansible 部署、UI 现代化、音频预设、网络监控、FT8 桥接设计系统、发射预设、NetMonitor
稳定13–15频道记忆、ATR 稳定性、EFHW 研究MemoryChannelMgr、LearningBuffer

SunMRRC — 逆向工程黑盒设备

SunSDR2 DX 是一台无公开协议、无开放 API、无 Hamlib 支持的 SDR。协议逆向工程在首次 git 提交之前完成。首次提交(6/21)到 V1.0(6/24):4 天。到 SDD V3.7(7/3):13 天,40+ 次提交。

不同的硬件,不同的架构

传统 HF 电台通过串口 CAT 接口(频率、模式、PTT)经由 Hamlib/rigctld 控制。SunSDR2 DX 完全没有这些。它通过 UDP 50002 端口发送原始 IQ 采样流,在 50001 端口接收私有二进制命令。没有 rigctld、没有 CAT、没有任何公开文档。

Echo 阶段(pre-git):在电台现场部署抓包环境。用 Wireshark 捕获 40+ 次 UDP 会话。逆向解码 IQ 帧格式(24-bit 交错 I/Q)、命令头结构(14 字节头部 + 可变 payload + 4 字节尾部)、30 步启动序列。构建 Python UDP 客户端验证理解。

Delta 阶段(6/21–6/24):FastAPI 服务器 + 5 路 WebSocket。基于 numpy/scipy 的 IQ 解调(DDC + 分数重采样 + Hilbert SSB)。首次提交已包含:PROTOCOL.md(22 节完整协议文档)、TX 调制流水线、Tune 模式、频道记忆 API、录音功能。

Product 阶段(6/24–7/3):V1.0 发布后持续迭代——标签式双编解码音频传输(Opus/PCM)、SAB ring buffer(零主线程发射音频路径)、WDSP IQ 级降噪(NR2/ANF/SNB)、300Hz 高通滤波器(回收 15% PA 净空)。SDD 同步编写,V3.0→V3.7,17 项架构决策。从 MRRC 继承 8 个资产:PTT 安全模型、WDSP 集成模式、多实例架构、Glassmorphism 设计令牌。

逆向工程指标

未公开协议表面100%
Wireshark 抓包(pre-git)40+ 次
解码命令类型12 种
Git 提交(6/21–7/3)40+
WebSocket 端点5 路
首次提交 → V1.04 天
首次提交 → SDD V3.713 天
复用 MRRC 资产8 个

SunMRRC 开发时间线(Git 验证)

从首次提交到 SDD V3.7 共 13 天。协议逆向工程(40+ 次 Wireshark 抓包,12 种命令解码)在首次提交之前完成——首次提交已包含 PROTOCOL.md(22 节)和可工作的 TX 调制流水线。

日期关键提交内容产出
Pre-git Echo → Delta:40+ 次 Wireshark 抓包,解码 IQ 帧格式(24-bit 交错)、12 种命令、30 步启动序列。Python UDP 客户端可启动设备、设置频率、接收 IQ 流。 sunsdr_direct.py、PROTOCOL.md(22 节)
6/21 38cb85e 初始提交
697789b TX 调制 + 频道记忆
Delta:FastAPI 服务器、5 路 WebSocket、IQ DSP(numpy/scipy)、Hilbert SSB 调制器、频道记忆 API。首次提交即包含完整的协议文档、TX 流水线、Tune 模式和 REST API。复用 8 个 MRRC 资产。 server.py、dsp.py、5 路 WS、REST API、移动端 UI
6/22–23 8ba105e TX 链修复
1217165 DRIVE 功率控制
Delta:真实麦克风 SSB 音频、LSB/USB 模式切换、杂音消除。设备 DRIVE(0x0017)按频段功率控制,band_power.json 持久化。动态 STREAM_CTRL 支持 39/78/156/312 kHz 采样率。 DRIVE 功率系统、按频段功率 UI、采样率切换
6/24 433194c 双编解码 + 遥测
6b1bc2b V1.0 发布
Product:标签式双编解码音频(Opus/PCM)、SWR 遥测解码、SunMRRC V1.0 量产发布。同日创建项目网站 + SDD 文档 + 部署脚本。首次提交到 V1.0:4 天。 双编解码传输、遥测解码、网站、SDD V3.0–3.3
6/25 225e1e0 满幅度 IQ
587e580 TUNE 限幅
Delta:发射 IQ 峰值修正至 1.0(满 24-bit 幅度,匹配 ExpertSDR3)。遥测字段验证(off30=瓦特、off16=电压、off18=温度)。Tune 载波功率上限保护 PA。 TX 增益分级修正、遥测字段验证
6/28 9346074 RX 48kHz 流水线
4f5a84d WDSP IQ 级处理
c7185f3 WDSP 控制面板
Delta:RX 音频升级至 48kHz、WFM 高保真模式、三次重采样。WDSP 移至 IQ 级(NR2/ANF/SNB 在解调前处理)。完整 WDSP 设置面板 + AGC 控制面板。TX 音频质量修复(抗混叠 LPF、抖动缓冲、DC 阻断)。 48kHz RX 流水线、WDSP IQ 处理、WDSP UI、AGC 面板
6/29–30 b1f4076 SAB ring + COEP
9bcccd7 300Hz 高通
4673422 SDD V3.5 PPTX
Delta:移除 WDSP TX C-chain(Python Hilbert 为唯一 SSB 路径)。SAB ring buffer 实现零主线程 TX 音频。COEP credentialless 兼容 Safari SharedArrayBuffer。300Hz 高通回收 15% PA 净空。Product:SDD V3.5–3.6(17 项 ADs、完整组件模型)、V3.5 架构 PPTX。 SAB ring buffer、COEP 头部、300Hz 高通、SDD V3.5–3.6
7/3 67ce1a3 频谱精度修复
0254f81 SDD V3.7
a748bc2 UI 重新设计
Product:精确采样率查找表(39062/78125/156250/312500)、FFT 像素对齐(xScale=W/n)、多客户端状态同步。UI 重新设计 + WDSP NR2 音乐噪声抑制。SDD V3.7:全部 15 章经实时代码验证。 频谱精度修复、SDD V3.7、UI 重新设计、最终文档

SunMRRC 关键洞察

1

逆向工程就是 Echo

40+ 次 Wireshark 抓包在电台现场完成。首次提交时 PROTOCOL.md 已包含 22 节完整协议文档——Echo 阶段在任何服务端代码编写之前就产出了基础资产。

2

复用 8 个 MRRC 资产

PTT 安全(ACK×3 + 看门狗)、WDSP 集成模式、多实例架构、Glassmorphism 设计令牌——全部继承。SunMRRC 没有重新解决这些问题,直接用。

3

协议即契约——赋能 SunsdrMobile

WebSocket cmd:val 协议、标签式双编解码传输、512-bin 频谱格式成为稳定契约。SunsdrMobile 直接使用,服务端零改动。

4

V1.0 仅用 4 天,SDD 同步编写

Git 记录:首次提交(6/21)→ V1.0(6/24)= 4 天。SDD 与代码同步迭代,不是事后补文档。到 7/3,全部 15 章经实时代码验证。

SunsdrMobile — 原生 iOS,单次提交即 V1.0

以 SunMRRC 的 WebSocket 协议为稳定契约,整个 iOS App 在首次提交中即完整发布(7/1)。零协议重新设计。零服务端改动。纯 Apple 框架。共 4 次提交(7/1–7/4)。

从 Web 到原生——FDE 的方式

Echo 阶段:SunMRRC 网页版可用,但移动端用户需要原生性能:流畅 60fps 瀑布图、触觉 PTT 反馈、Keychain 安全自动登录、系统级音频集成(AVAudioEngine)。网页版能做很多事——但做不好这些事。

Delta 阶段:SwiftUI App,零第三方依赖。4 路 URLSessionWebSocketTask 直连 SunMRRC 服务器。AVAudioEngine 低延迟播放与麦克风采集。CGImage/UIKit 瀑布图渲染(512×100 像素缓冲区,5 帧累积,10fps 节流)。Keychain 凭证存储。无 CocoaPods,无 SPM——纯 Apple 框架。

Product 阶段:10+ 可复用 SwiftUI 组件:SpectrumView(瀑布图 + 频率刻度)、SMeterView(实时 dB 表)、GainSlider(AF/RF/SQL 触控滑条)、FavoritesGrid(3×3 频道记忆)、DSPPanel(NR2/AGC/NB/ANF 开关)、PTTButton(96pt 触控区域 + 自动释放)、LoginView(Keychain + WSS)、SettingsView、AudioCodecPicker、BandPowerPanel。

继承 SunMRRC 6 大资产——服务端零改动:WebSocket cmd:val 协议、标签式双编解码音频传输、DSP 面板命令映射、PTT 安全模型(ACK 重试 + 看门狗)、512-bin 频谱格式、按频段功率 API。服务端不需要任何改动。

iOS 构建指标

Git 提交4 次
V1.0 发布7/1(首次提交即 V1.0)
UI 重构7/4(17 文件,+FFTProcessor)
第三方依赖0
WebSocket 连接4 路
可复用组件10+
复用 SunMRRC 资产6 个
服务端改动0

SunsdrMobile 开发时间线(Git 验证)

共 4 次提交,跨 2 天。V1.0 即首次提交(7/1)——整个 App 一次性发布。随后是 UI 重构(7/4:17 个文件,新增 FFTProcessor、S-meter 修复、dot sliders)。关键 FDE 指标:SunMRRC 服务端改动即支持了原生 iOS 客户端。

日期提交内容FDE 特征
7/1 2314c7c V1.0 发布 单次提交即包含完整原生 iOS App。SwiftUI,零第三方依赖。4 路 URLSessionWebSocketTask(WSCTRX、WSaudioRX、WSaudioTX、WSspectrum)。AVAudioEngine 低延迟播放与麦克风采集。CGImage/UIKit 瀑布图。Keychain 凭证存储。10+ 可复用组件:SpectrumView、SMeterView、GainSlider、FavoritesGrid、DSPPanel、PTTButton、LoginView、SettingsView、AudioCodecPicker、BandPowerPanel。直接复用 SunMRRC 6 大协议资产,服务端零改动。 Echo → Delta → Product一次完成。Echo:网页版 UX 缺口(无原生 60fps 瀑布图、触觉反馈、Keychain)。Delta:纯 Apple 框架、4 路 WSS、AVAudioEngine。Product:10+ 可复用组件,可支撑未来 iOS HAM App。
7/1 3e8b1f7 README + 架构 项目 README,包含架构概览、组件图和安装说明。 文档作为 Product 产出。
7/4 d460131 UI 重构 17 个文件改动。UI 布局重构:统一 chips 风格、dot sliders、S-meter 修复、连接状态指示器。新增 FFTProcessor(93 行 Swift 频谱分析模块)。Colors.swift(设计令牌)。DSPPanelView、MainRXView、WaterfallView 大幅简化重构。 第二个 FDE 周期——Echo:真实 UI 使用反馈。Delta:设计令牌系统 + FFT 模块提取。Product:简化的组件架构,可复用的 Colors/FFTProcessor 模块。
7/4 f93955e 网站 + SVG 双语宣传网站(中/英),内嵌 SVG 架构图和 UI 手机模型。部署至 /sunsdrmobile/。沿用 MRRC/SunMRRC octen.css 设计系统。 网站作为 Product 产物——部署模式复用自 SunMRRC。

SunsdrMobile 关键洞察

1

单次提交 V1.0 是 FDE 的终极证明

整个 App 一次提交发布。不是因为 App 简单——而是 SunMRRC 的协议是稳定契约。继承的 6 个资产(WS 协议、编解码标签、DSP 命令、PTT 安全、频谱格式、功率 API)省去了全部服务端协商工作。

2

零依赖 = 零摩擦

无 CocoaPods、无 SPM、无第三方库。纯 Apple 框架:SwiftUI、AVAudioEngine、URLSession、Security/Keychain、CGImage。即时构建,无版本冲突,无供应链风险。

3

SunMRRC 的每个 Product 资产都在这里变现

cmd:val 协议、双编解码、DSP 面板映射、PTT 安全模型、频谱格式、按频段功率 API——全部在 SunMRRC 的 13 天 Git 历史中设计和稳定——被零修改继承。每个前序项目的 Product 阶段都在为这个项目付费。

4

FDE 杠杆用"服务端改动数"衡量:0

关键指标不是代码行数或开发时间——而是 SunMRRC 服务器支持全新原生 iOS 客户端需要零改动。协议稳定性比优雅代码更值钱。

Harness 链条

SDD 如何在三个层面锁定需求:Business Harness 定义"做什么"、Technical Harness 定义"怎么做"、Product Harness 定义"交付什么"。每个 FDE 周期驱动这一链条。

Business Harness

定义 WHAT——要解决的问题及其价值
  • SDD Ch2:业务方向——用户是谁、市场缺口在哪
  • SDD Ch4:系统上下文——外部系统、接口、约束
  • SDD Ch5:非功能需求——延迟、可靠性、安全性、平台
  • SDD Ch6:用例模型——驱动每个周期的具体用户场景
  • SDD Ch13:可行性评估——能否用现有资源实现
  • Echo 阶段驱动此 Harness。每个周期从这里开始。

Technical Harness

定义 HOW——架构和实现方法
  • SDD Ch7:领域模型——领域实体与关系
  • SDD Ch8:架构决策(ADs)——为什么选 X 而非 Y
  • SDD Ch9:架构概览——系统拓扑、数据流
  • SDD Ch10:服务模型——API 契约、WebSocket 协议
  • SDD Ch11:组件模型——模块边界、职责
  • SDD Ch12:运维模型——部署、监控、备份
  • Delta 阶段驱动此 Harness。原型验证架构决策。

Product Harness

定义 DELIVERABLE——实际交付内容及其可复用性
  • SDD Ch1:执行摘要——做了什么、为谁做、价值何在
  • SDD Ch3:项目定义——范围、交付物、验收标准
  • SDD Ch14:版本历史——什么变了、何时、为什么
  • 抽象目录:碎石路 → 高速公路——可复用模块清单
  • 杠杆仪表板:累计可复用资产、周期速度趋势
  • Product 阶段驱动此 Harness。抽象使其可复用。

核心洞察:不要让文档驱动开发——让开发驱动文档。 每个 FDE 阶段完成后,产出物更新 Harness。 Business Harness 捕获 Echo 的发现。Technical Harness 捕获 Delta 的验证。 Product Harness 捕获 Product 的抽象。Harness 不是计划——它是"什么有效"的记录。

跨项目 Harness 复用

SDD 章节MRRC→ SunMRRC→ SunsdrMobile复用类型
Ch4 系统上下文HF 电台(Hamlib)SDR(UDP IQ 流)服务器(WSS)模板——同结构,不同系统
Ch5 NFRs<100ms TX/RX 切换<50ms WS 延迟60fps 瀑布图演进——逐项目收紧
Ch8 架构决策12 ADs(音频、PTT、DSP)+5 ADs(IQ 解调、编解码)+2 ADs(Keychain、CGImage)扩展——前序 ADs 继承沿用
Ch10 服务模型REST + 1 WS5 WS 端点同 5 WS——零改动继承——服务端即契约
Ch11 组件模型仅 Python 后端+ FastAPI 层+ SwiftUI 组件分层——每项目新增一层

新项目 FDE 蓝图

从 MRRC → SunMRRC → SunsdrMobile 实践提炼的可复制操作手册。这就是快速打造下一个产品的方法。

新项目 FDE 蓝图 六步循环:从杠杆资产出发,定义 Harness,部署到现场,交付演示,抽象与文档化,然后迭代加速。 1 从杠杆资产出发 盘点可复用资产 2 定义 Harness 问题、用户、成功标准 3 Echo:现场 捕获真实数据 4 Delta:演示 验证最高风险假设 5 Product:抽象 文档化可复用模块 6 加速 杠杆效应叠加 Echo + Delta + Product:把一次现场经验变成下个项目的起点优势

这套蓝图产出了什么

项目Git 历史起始杠杆首次提交 → V1.0服务端改动关键推动力
MRRC3/6–6/19(15 周期)0(F4HTB 分支)Pre-git(周期 1–3 在 git 前)F4HTB 上游项目评估
SunMRRC6/21–7/3(40+ 提交)8 个 MRRC 资产4 天Pre-git Wireshark RE + MRRC PTT/WDSP 复用
SunsdrMobile7/1–7/4(4 提交)6 个 SunMRRC 协议资产单次提交(V1.0 = 首次提交)0SunMRRC WebSocket 协议作为稳定契约
MRRC 周期 1–3(V1.0→V3.0,2024/10–2024/12)早于 git 记录。15 周期完整日志见附录 D。SunMRRC 协议逆向工程在首次提交前完成;首次提交即包含 PROTOCOL.md(22 节)和可工作的 TX 流水线。SunsdrMobile 单次提交 V1.0 展现了 FDE 的终极产出:协议稳定性 → 服务端零改动。

什么是 FDE(驻场工程)?

理论基础——移至附录,让实践本身说话。

FDE = Echo + Delta + Product
需求发现 → 快速原型 → 抽象与泛化

Echo

"用户真正需要什么?"
  • 嵌入用户场景——部署到现场
  • 定义有价值的演示——每周期 1 个,具体且可交付
  • 管理客户关系——理解真实痛点
  • 约占周期 20% 时间。产出:一个经过验证的演示定义

Delta

"最快能用的方案是什么?"
  • 快速原型——代码可以粗糙但必须能跑
  • 按时交付——发布演示,获取反馈
  • 基于真实反馈迭代——而非猜测
  • 约占周期 55% 时间。产出:验证演示目标的可用原型

Product

"如何服务接下来的 10 个客户?"
  • 将现场解决方案抽象为可复用模块
  • 编写架构文档——未来的你需要它
  • 把碎石路变成高速公路——边际成本降至零
  • 约占周期 25% 时间。产出:可复用资产 + 更新的 SDD

FDE 不是咨询。咨询交付一次性方案然后离开。 FDE 是产品探索过程——每次参与都在构建永久资产,降低未来每次参与的成本。

8 条 FDE 原则(从 3 个项目提炼)

1

从现场出发,而非从产品出发

每个周期由真实用户场景驱动——绝非"我想加这个功能"。MRRC 14 个月的运营间隔期证明,真实使用是最好的 Echo。

2

演示驱动的验证

每周期定义 1 个具体演示。交付它。演示创造渴望——最强大的交付动力。

3

及时抽象——不太早,绝不晚

等到 2+ 个类似场景成功后再抽象。但永远不要跳过 Product 阶段。Delta 代码是消费品;Product 产出是资产。

4

文档是产出,不是计划

每个 FDE 阶段后更新 SDD 章节。Harness 记录"什么有效"——不是推测性蓝图。6 个月后的你自己是主要读者。

5

协议稳定性是终极杠杆

SunMRRC 的 WebSocket 协议是让 SunsdrMobile 在服务端零改动下交付的契约。稳定接口比优雅代码更有价值。

6

运维即 Echo——不要跳过沉淀期

MRRC 14 个月的运营期积累了驱动爆炸式创新的真实痛点。日常使用产生比任何规划会议更好的需求。

7

5 次迭代后转向

如果方案经过 5 次迭代仍未稳定,技术路线可能有问题。ATR-1000 在第 5 次迭代找到了正确架构。不要在错误路线上继续打磨。

8

杠杆跨项目持续叠加

MRRC 的 16 个资产为 SunMRRC 节省了约 40% 的构建时间。SunMRRC 的协议契约为 SunsdrMobile 节省了约 60%。每个项目都在加速下一个。永远不要从零开始。

常见 FDE 陷阱

需求膨胀(Echo)

定义 10 个演示,范围巨大

每周期选 1 个演示。交付它。再做下一个。

虚假 Echo

凭空想象需求,没有现场存在

在定义需求前,至少花 1 周时间在实际使用场景中。

过早优化(Delta)

原型 #1 就做完整的错误处理 + 日志 + 配置

原型 #1 只验证最危险的那个假设。打磨留到后面。

过早抽象(Product)

场景 #1 还没验证就写通用框架

等到至少 2 个类似场景成功后再抽象。

跳过 Product 阶段

Delta 代码直接交付,未经泛化

每个周期至少留 20% 时间用于抽象和文档。

从零开始

新项目、空仓库、没有杠杆盘点

始终先审计现有资产。SunMRRC 复用了 8 个 MRRC 模块。SunsdrMobile 复用了 14 个。你的杠杆就是你的不对称优势。

MRRC FDE 完整周期日志(15 周期)

#周期日期版本Echo 输入Delta 挑战Product 产出
1基础2024-10V1.0F4HTB 上游评估WebSocket + Tornado 集成AD-001/002/003
2架构2024-11V2.0仅限 Linux、高延迟PyAudio 跨平台 + AudioWorkletaudio_interface.py
3移动端2024-12V3.0桌面 UI 手机不可用iOS Safari AudioContextmobile_modern.html
14 个月运营间隔——日常使用积累真实痛点(最好的 Echo)
4延迟2026-03V4.0PTT 3 秒延迟预加热帧 + 计数超时PTT 可靠性框架
5ATR-10002026-03V4.3–4.5无功率/SWR 显示5 次迭代 → 代理架构atr1000_proxy.py
6DSP2026-03V4.6–4.9噪声 + 音频刺耳WDSP 库集成wdsp_wrapper.py
7部署2026-04V5.1.x手动 7 步部署SSH 幂等性Ansible playbook
8UI2026-04V5.0UI 过时、emoji 不一致跨平台 Unicode 图标Glassmorphism 设计系统
9音频2026-05V5.1发射音频刺耳Safari setValueAtTime 修复RagChew 音频预设系统
10性能2026-05V5.2RX 帧间间隙多节点调度播放audio_rx.js 重写
11网络2026-05V5.3无网络可见性实时带宽/延迟显示网络监控
12FT82026-05V5.4FT8 方法不匹配Python–JS 方法对齐FT8 WebSocket 稳定化
13记忆2026-06V5.5频道操作繁琐面向服务的批量 DOM 更新MemoryChannelManager
14稳定性2026-06V5.6.0–4虚假 SWR 污染天调稳定窗口 + 去重LearningBuffer
15EFHW2026-06V5.6.5EFHW 设计文档静态站点 + 深度研究EFHW 知识库

碎石路 → 高速公路 目录

每个现场 hack 变成可复用资产——横跨全部三个项目

碎石路(Delta hack)抽象高速公路(Product 资产)项目
ALSA Linux 专用音频PyAudio 跨平台audio_interface.pyMRRC
ScriptProcessor 主线程阻塞AudioWorklet 线程低延迟音频架构MRRC
直接 PTT sleep-wait(3 秒延迟)预加热 + 计数超时PTT 可靠性框架MRRC → SunMRRC
ATR-1000 主进程崩溃独立代理 + 动态轮询atr1000_proxy.pyMRRC
原始 libwdsp C 调用Python 封装wdsp_wrapper.pyMRRC → SunMRRC
未知 UDP IQ 协议Wireshark 抓包 + 逆向工程sunsdr_direct.py(IQ 解码 + TX 调制)SunMRRC
硬编码音频编解码标签式双编解码传输Opus/PCM 标签二进制流SunMRRC
按频段功率硬编码DRIVE 命令 + JSON 持久化band_power.jsonSunMRRC
Web Audio API 瀑布图CGImage/UIKit 瀑布图SpectrumView(512-bin,60fps)SunsdrMobile
浏览器 PTT 按钮96pt 触觉触控区域PTTButton(自动释放)SunsdrMobile
手动服务器登录Keychain 安全自动登录CredentialManagerSunsdrMobile
单实例硬编码每实例独立配置多实例架构MRRC → SunMRRC
WSJT-X/JTDX FT8 集成WebSocket 桥接 + 自动序列器FT8 Ultron ConsoleMRRC

Apply FDE to Your Project

Three projects. One methodology. All open source. The FDE playbook, SDD templates, and complete leverage catalog — start your own journey.

MRRC Source SunMRRC Source SunsdrMobile Source SDD 文档