新增平台无关渲染模块 mag160c_render + Linux 参考程序 + 移植评估文档
- csdk/include/mag160c/mag160c_render.h + csdk/src/mag160c_render.c: 官方渲染管线(快门提取/FFC 状态机/ref 采集/表重建/NUC/盲元/窗口/ LUT(0x8c)/gray/2x/调色板)封装为无平台依赖 API,FFC 命令经回调发出 - csdk/tools/mag160c_linux_demo.c:Linux 风格参考程序(libusb + render API + 显示后端抽象 fbdev/DRM/LVGL),Windows 可编译验证(BMP 输出) - 修复帧组装:第二段 bulk 读 38428B(像素+尾),尾部含快门字 实测 shutter=31492 sel=2 stats 正常 - docs/linux_port_plan.md:芯片选型(推荐 T113-S3 QFP128 非 BGA ~20元)、 动画库(LVGL+rlottie 参考 LiThermal)、显示方案、接口抽象设计 - csdk/README 增加 Linux 移植章节
This commit is contained in:
+34
-1
@@ -207,7 +207,40 @@ Start-Process "C:\Project\MAG160C\build-artifacts\mag160c_demo3.exe" -WorkingDir
|
||||
- 输出日志:`demo3_diag.txt`(每帧统计)、`demo3_ffc.txt`(FFC 事件)、
|
||||
`demo3_auto_*.bmp`(每 30 帧快照,320×240)
|
||||
|
||||
### 5. 官方抓帧工具(tsdk_pair2 / tsdk_pair3)
|
||||
### 5. Linux 移植(mag160c_render API)
|
||||
|
||||
`include/mag160c/mag160c_render.h` + `src/mag160c_render.c` 是平台无关的
|
||||
**官方渲染管线模块**:喂原始 USB 帧 → 输出 320x240 RGB24。内部完整实现
|
||||
官方链路(快门提取→FFC 状态机→ref 采集→表重建→NUC→盲元→窗口→LUT→
|
||||
gray→2x→调色板),FFC 命令通过回调发给调用方(调用方持有 USB 传输)。
|
||||
|
||||
```c
|
||||
mag160c_render_cfg_t cfg = { .width = 160, .height = 120,
|
||||
.ddt_path = "mag160c_official.ddt", .ffc_period = 1800,
|
||||
.ffc_drift = 250, .startup_force_ffc = 1, .cdf_pivot_75 = 1,
|
||||
.ffc_cb = my_ffc_sender, .ffc_user = NULL };
|
||||
mag160c_render_init(&r, &cfg);
|
||||
/* 每帧: */
|
||||
mag160c_render_frame(r, full_frame_with_header, 1, rgb320x240);
|
||||
```
|
||||
|
||||
`tools/mag160c_linux_demo.c` 是 Linux 风格参考程序(libusb + render API +
|
||||
display 后端抽象,Windows 上也可编译运行,输出 thermal_*.bmp 验证)。
|
||||
Linux 构建:
|
||||
|
||||
```bash
|
||||
gcc -O2 -Wall csdk/tools/mag160c_linux_demo.c csdk/src/mag160c_render.c \
|
||||
csdk/src/mag160c_ir.c csdk/src/mag160c_frame.c csdk/src/mag160c_temp.c \
|
||||
csdk/src/mag160c_tcm.c csdk/src/mag160c_error.c csdk/src/mag160c_display.c \
|
||||
-lusb-1.0 -lpthread -lm -o mag160c_linux_demo
|
||||
```
|
||||
|
||||
显示后端(display_rgb 中)可按目标平台实现:fbdev / DRM-KMS / LVGL image。
|
||||
UI 与动画建议:LVGL(界面/交互动画)+ rlottie(Lottie 特效),参考
|
||||
LiThermal 项目;主控建议全志 T113-S3(QFP128,非 BGA,~20 元,G2D 2D
|
||||
加速,Tina Linux)。完整评估见 `../docs/linux_port_plan.md`。
|
||||
|
||||
### 6. 官方抓帧工具(tsdk_pair2 / tsdk_pair3)
|
||||
|
||||
用途:对照验证 demo3 与官方管线。先停 demo3,再运行(同一设备独占):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user