yanjie 174adb5366 feat: JE-Skin 功能迁移 — One Dark Pro 工业风 + 录制导出
## One Dark Pro 主题
- 替换 ENGINEERING_DARK → ONE_DARK_PRO (#282C34 背景, #C678DD 紫色强调)
- 新增 ACCENT_GREEN/RED/BLUE/CYAN/ORANGE 独立色彩常量

## 录制模块 (recording.rs — 新建)
- 全量录制 + 快照录制两种模式
- 暂停/恢复/停止状态管理
- CSV 导出 (channel1,...,channelN,timestamp_ms)
- CSV 导入回放
- 线程安全 Arc<Mutex<>>
- 4 个单元测试

## 新 UI 组件 (ui.rs — +343 行)
- draw_signal_chart: 实时信号火花图 (min/max/current)
- draw_recording_toolbar: 录制控制栏 (全量/快照/暂停/导出/导入)
- draw_export_panel: 浮动录制导出面板
- draw_matrix_config_panel: 矩阵配置 (行/列/色域/预设 12x7~64x32)
- 连接面板集成录制工具栏 (连接后自动显示)

## 应用集成 (app.rs)
- 集成 Recorder, 信号历史, 导出面板, 矩阵配置面板
- 每帧数据自动送入录制器
- 信号历史环形缓冲 (128 帧)
2026-05-20 17:27:38 +08:00
2026-05-20 15:06:38 +08:00

Eskin Model Player

实时压力矩阵可视化桌面应用,用于连接 E-Skin 传感器设备并通过串口接收压力数据,以热力图方式实时渲染。

功能

  • 串口连接 E-Skin 传感器921600 baud
  • 实时压力矩阵热力图渲染wgpu
  • 自定义无边框窗口macOS 风格标题栏
  • 浮动面板:连接管理、场景视图、配置、数据统计

依赖

构建与运行

cargo run --release

项目结构

src/
├── main.rs            # 入口,创建 eframe 窗口
├── app.rs             # 应用主循环与面板调度
├── connection.rs      # 串口连接管理(后台线程)
├── serial_core/       # 串口协议编解码
│   ├── serial.rs      # 串口读写循环
│   ├── codec.rs       # 帧编解码器
│   ├── frame.rs       # 帧结构定义
│   └── ...
├── render.rs          # wgpu 渲染管线(背景 + 数字叠加)
├── matrix.rs          # 矩阵布局与坐标变换
├── ui.rs              # egui 浮动面板 UI
├── theme.rs           # 深色工程主题
├── shader.wgsl        # WGSL 着色器
└── utils.rs           # 工具函数
Description
No description provided
Readme 470 KiB
Languages
Rust 85.2%
WGSL 6.8%
Shell 5.4%
PowerShell 2.6%