Skip to content

Repository files navigation

ECHO+

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 输出

输出显示

功能 说明
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 仍正常接收数据

UI 与交互

  • 侧边菜单栏 + 双抽屉导航(协议/设置/命令/控件页面)
  • 协议页面:数据引擎选择、接口选择、各协议参数配置
  • 设置页面:菜单栏宽度切换、TCP 超时、导出数据、恢复默认配置
  • 面板分割拖拽(垂直/水平,60fps 防抖)
  • 沉浸模式、连接锁定引擎、双击退出、屏幕常亮、启动闪屏
  • 配置持久化(JSON 序列化、自动保存、恢复默认、启动恢复)
  • 应用基础设施(AppLogger 日志文件轮转、ConnectionLogger 连接日志、全局崩溃异常捕获)

⚠️ 已知问题

高速显示数据时,输出窗口易卡顿

🚧 部分实现 / 待完善

功能 状态 说明
串口 (USB Serial) 通讯 ⏳ 占位 UI 配置项已就绪(波特率/流控/校验位等),待接入实际串口驱动库
蓝牙通讯 ❌ 未实现 尚未开发
绘图窗口(波形图绘制) ⏳ 空容器 仅含占位标题文字,绘图逻辑待实现
命令面板 ⏳ 框架就绪 菜单资源已定义,动态填充逻辑待实现
控件面板 ⏳ 框架就绪 菜单资源已定义,动态填充逻辑待实现
数据显示与绘图联动 ❌ 未实现 依赖于绘图窗口实现

🙏 鸣谢

  • 功能与界面风格参考 VOFA+,感谢 VOFA+ 提供的优秀设计灵感与数据格式设计
  • 输出区等宽字体使用 Maple Mono,感谢 Subframe7536 的开源贡献

🤖 说明

本应用由 AI 辅助生成,可能存在未知问题,请在生产环境中谨慎使用。

About

ECHO+ 一个简单的安卓端串口调试助手

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages