ECHO+ — 一款 Android 平台的多功能串口/网络调试助手,专为嵌入式开发调试场景设计。
技术栈: Android + Kotlin (AGP 9.2.1, Kotlin 2.1.0)
最低 SDK: 26 (Android 8.0) | 目标 SDK: 36 (Android 14)
| 功能 | 说明 |
|---|---|
| UDP 收发 | 支持远程/本地端口配置,异步接收线程,状态回调 |
| TCP 客户端收发 | 支持 IP/端口/握手数据/超时配置,异步连接,断线重连回调 |
| TCP 服务端收发 | 支持监听端口配置,多客户端接入,连接列表管理 |
⚠️ 串口 (USB Serial) 和 蓝牙 暂未实现
| 引擎 | 说明 |
|---|---|
| FireWater | CSV 风格字符串协议,支持采样数据与图像数据包接收 |
| JustFloat | 小端浮点数组字节流协议,支持采样数据与图像数据包接收,强制 Hex 模式 |
| RawData | 纯透传模式,原始字节直接转 hex 输出 |
- 详细功能参考VOFA数据引擎文档
| 功能 | 说明 |
|---|---|
| Hex/Abc 切换 | 实时切换十六进制 / 文本显示 |
| 时间戳显示 | 开关控制,格式 [HH:mm:ss.SSS] |
| Rx/Tx 开关 | 独立控制接收/发送数据显示,颜色区分 |
| 采样数据包过滤 | 独立开关控制合规采样帧的显示 |
| 图像数据包过滤 | 独立开关控制图像数据包的显示 |
| 编码选择 | UTF-8 / GBK 切换 |
| 字体缩放 | A+ / A- 步进调整 |
| 控制字符转义 | 文本模式下 \n, \r, \t 等转义为可见序列 |
| 数据导出 | 导出到系统 Download/ECHO-*.log |
| 清除输出 | 一键清空显示缓冲区 |
- ParamBuffer — FireWater/JustFloat 合规帧自动锁定参数数量(≤32),16 色调色板,实时 FPS 估算
- ImageBuffer — 最新完整一帧图像的帧头 + hex 数据,10MB 上限
- E 按钮 — 清除参数缓存并重新锁定
- Rx 关闭时 ParamBuffer/ImageBuffer 仍正常接收数据
- 侧边菜单栏 + 双抽屉导航(协议/设置/命令/控件页面)
- 协议页面:数据引擎选择、接口选择、各协议参数配置
- 设置页面:菜单栏宽度切换、TCP 超时、导出数据、恢复默认配置
- 面板分割拖拽(垂直/水平,60fps 防抖)
- 沉浸模式、连接锁定引擎、双击退出、屏幕常亮、启动闪屏
- 配置持久化(JSON 序列化、自动保存、恢复默认、启动恢复)
- 应用基础设施(AppLogger 日志文件轮转、ConnectionLogger 连接日志、全局崩溃异常捕获)
高速显示数据时,输出窗口易卡顿
| 功能 | 状态 | 说明 |
|---|---|---|
| 串口 (USB Serial) 通讯 | ⏳ 占位 | UI 配置项已就绪(波特率/流控/校验位等),待接入实际串口驱动库 |
| 蓝牙通讯 | ❌ 未实现 | 尚未开发 |
| 绘图窗口(波形图绘制) | ⏳ 空容器 | 仅含占位标题文字,绘图逻辑待实现 |
| 命令面板 | ⏳ 框架就绪 | 菜单资源已定义,动态填充逻辑待实现 |
| 控件面板 | ⏳ 框架就绪 | 菜单资源已定义,动态填充逻辑待实现 |
| 数据显示与绘图联动 | ❌ 未实现 | 依赖于绘图窗口实现 |
- 功能与界面风格参考 VOFA+,感谢 VOFA+ 提供的优秀设计灵感与数据格式设计
- 输出区等宽字体使用 Maple Mono,感谢 Subframe7536 的开源贡献
本应用由 AI 辅助生成,可能存在未知问题,请在生产环境中谨慎使用。