项目概览
• 目标:将 LED 控制应用从 Windows 系统移植到 Linux 系统,并确保与客户指定的控制板兼容。
• 系统基础:大屏 LED 驱动固件基于 STM32F207 开发。
• 方法论:
1. 反向工程原 Windows LED 控制程序,理解其控制算法。
2. 使用 Qt 5.8 在 Linux 平台重新实现应用。
3. 对比 Linux 版本与原 Windows 版本功能,确保功能一致。
________________________________________
2. 技术方法
2.1 反向工程
• 提取 Windows 应用核心算法和控制逻辑。
• 确定应用与 STM32F207 固件之间的通信协议。
2.2 移植与开发
• 使用 Qt 5.8 开发跨平台 GUI 和应用逻辑。
• 调整硬件通信模块以兼容 Linux 设备驱动。
• 集成 LED 固件控制,实现与 STM32 板的无缝操作。
2.3 功能验证
• 与原 Windows 应用进行逐项对比。
• 验证 LED 显示控制功能(亮度、颜色、映射、偏移等)符合原规格。
________________________________________
3. 参考系统 — Blade System Player(“BladePlay”)
开发过程中参考 BladePlay LED 显示控制软件的功能模块:
• PORT:定义连接瓦片的活跃数据端口(A/B)。
• MODULE:识别瓦片类型(如 Blade-X 16mm)。
________________________________________
4. 路由配置与映射
• 自动映射:检测瓦片类型并创建布局。
• 手动映射:允许从 (0,0) 拖拽调整瓦片位置。
• 瓦片扩展/插入/编辑:针对非标准配置的高级操作。
• 错误检查:识别特定瓦片 ID 的通信异常。
________________________________________
5. 固件升级流程
1. 进入 Supervisor 模式(三击 BladePlay 图标,密码 2002)。
2. 访问瓦片固件状态。
3. 选择瓦片并应用固件升级。
4. 升级完成后重启显示屏。
5. 关闭 BladePlay 时勾选“Keep last modify”保存设置。