174adb536659a1e342f0524e741324b92ff85f98
## 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 帧)
Eskin Model Player
实时压力矩阵可视化桌面应用,用于连接 E-Skin 传感器设备并通过串口接收压力数据,以热力图方式实时渲染。
功能
- 串口连接 E-Skin 传感器(921600 baud)
- 实时压力矩阵热力图渲染(wgpu)
- 自定义无边框窗口,macOS 风格标题栏
- 浮动面板:连接管理、场景视图、配置、数据统计
依赖
- Rust 2024 edition
- eframe 0.34(egui + wgpu)
- serialport 4.9
构建与运行
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
Languages
Rust
85.2%
WGSL
6.8%
Shell
5.4%
PowerShell
2.6%