# flex6400_controller **Repository Path**: timor007/flex6400_controller ## Basic Information - **Project Name**: flex6400_controller - **Description**: 使用flutter写的一个用于学习的demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电台控制器 (Radio Controller) 一个基于 Flutter 的多协议电台控制应用,支持 FlexRadio 6400 和 SunSDR (TCI)。 ## 功能特性 - **多协议支持**: 同时兼容 FlexRadio 6400 (Flex API) 和 SunSDR (TCI 协议) - **统一接口**: 通过适配器模式实现协议解耦 - **频谱显示**: 实时频谱可视化 - **核心控制**: 频率、模式、PTT 控制 - **CAT 兼容**: 支持 TS-2000 CAT 协议,用于第三方日志软件联动 ## 技术架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ UI 层 │ │ SpectrumView • RadioControlPanel • ProtocolSelector │ └───────────────────────────┬─────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ IRadioController (统一接口) │ │ • connect() • disconnect() • setFrequency() • setMode() │ │ • setPtt() • startSpectrumStream() • stopSpectrumStream() │ └───────────────────────────┬─────────────────────────────────┘ │ ┌─────────────────┼─────────────────┐ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ FlexApiManager │ │ TciManager │ │ CatManager │ │ (FlexRadio 6400)│ │ (SunSDR TCI) │ │ (TS-2000 CAT) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ## 协议说明 ### FlexRadio 6400 - 使用 Flex API 和 VITA-49 协议 - 默认端口: 4992 ### SunSDR (TCI) - 使用 WebSocket 传输 TCI 协议 - 默认端口: 40001 或 50001 ### CAT 协议 - 用于第三方日志软件联动 - 默认端口: 5002 ## 安装与运行 ```bash # 安装依赖 flutter pub get # 调试应用(web) flutter run -d chrome # 运行应用(android),需要电脑连接android设备或者模拟器 flutter run # 构建应用 flutter build apk --debug ``` ## 使用说明 1. 在应用中选择电台类型(FlexRadio 6400 或 SunSDR) 2. 输入电台 IP 地址 3. 点击连接按钮建立连接 4. 使用控制面板进行频率、模式和 PTT 控制 5. 查看实时频谱显示 ## 许可证 MIT License ``` ## 项目说明 1. **统一接口层** (`IRadioController`) - 抽象电台控制的通用方法 2. **Flex 适配器** (`FlexApiManager`) - 实现 Flex API 3. **TCI 适配器** (`TciManager`) - 基于 WebSocket 处理 TCI 协议 4. **CAT 兼容层** (`CatManager`) - TS-2000 CAT 协议支持 5. **UI 组件** - 频谱显示、控制面板、协议选择器 6. **主界面** - 支持多协议动态切换 应用采用适配器模式,使 UI 层与底层协议完全解耦,可以轻松扩展支持更多电台类型。