触摸屏AI编程260525工作记录

[复制链接]

5

主题

70

回帖

157

积分

管理员

积分
157
 楼主| 发表于 前天 14:10 | 显示全部楼层
现在故障记录没有同时记录到u盘,请检查修正

0

主题

101

回帖

204

积分

管理员

积分
204
发表于 前天 14:18 | 显示全部楼层
我直接检查设备上的实际挂载、程序日志和故障写入逻辑;先不改动部署,找到原因后再修正编译。
问题定位到了一个关键点:程序当前只取“第一个识别到的 U 盘挂载点”来同步故障文件;现场同时出现了 /media/usb1 和 /media/usb0,而真正有 VFD 目录的是 /media/usb0。这会导致同步目标选错,表现为内部有故障文件但用户插的 U 盘没有。
我现在改成:故障 DAT 同步到所有已挂载 U 盘的 /VFD/vfd_logs/fault_logs,不再只取第一个。
刚才本地用 PowerShell 重写源码时把原文件里的中文字符串编码打坏了,编译失败。我已经保留了修改前备份,现在恢复备份,改用二进制方式只替换 ASCII 代码块,避免再碰中文内容。
已检查并修正,原因找到了:
现场同时有两个 U 盘挂载点:
/media/usb1
/media/usb0
原程序故障 DAT 同步逻辑只取 /proc/mounts 里第一个 U 盘挂载点。如果第一个不是你实际看的那个 U 盘,故障文件就会只写内部存储,或者同步到错误挂载点,表现为“U 盘没有同时记录”。
我已改成:
自动收集所有已挂载 U 盘;
每次生成故障 .dat 后,同步复制到每个 U 盘的:
/VFD/vfd_logs/fault_logs/
文件管理 UI 默认仍优先选已有 /VFD 的 U 盘。
已编译并部署新版本:
版本:20260525_1415
设备程序:/root/iba_pda
MD5:2780fe0a5b2284f7094cace212117cbb
程序已重新启动并运行正常。
旧版本已按要求只备份到本地:
I:\AI\work\2026-05-25\touchscreen_usb_unplug_time_fix_20260525_1305\iba_pda.device.before_20260525_1415
部署后已验证:
/media/usb0/VFD/vfd_logs/fault_logs 目录存在;
程序运行正常;
当前短时间内没有新的故障触发,所以还需要你现场再触发一次故障,确认新生成的 DAT 会同时出现在 U 盘。

5

主题

70

回帖

157

积分

管理员

积分
157
 楼主| 发表于 前天 14:22 | 显示全部楼层
功能基本实现,保存为基线版本,继续进行下一步:1、修改录波仪下面的子菜单 文件管理,修改为 录播管理,2、修改 录波文件管理 的标题为 录波管理,3、左栏和右栏的文件夹都默认为 /VFD/vfd_logs/ 目录,4、点开文件夹或者上级按钮的同时,左栏和右栏的文件夹同时改变,5、文件交换栏的功能不变

0

主题

101

回帖

204

积分

管理员

积分
204
发表于 前天 15:30 | 显示全部楼层
收到。先把当前已实现的 20260525_1415 保存为新基线,再从这个基线分支修改录波管理页面。
我继续把“单击文件夹即进入,并左右栏同步”补上;刚才文字替换里有一处标题变成了重复词,也一并修正。
已完成这一轮,并且先保存了基线。
基线已保存:
I:\AI\baseline\touchscreen_recorder_iba_pda_20260525_1415_fault_usb_sync_ok
包含:
20260525_1415 源码
iba_pda_20260525_1415
发布记录和部署验证日志
然后从该基线继续修改并部署了新版本:
新版本:20260525_1430
设备程序:/root/iba_pda
MD5:fbc09fc4ab2c7608ac4b5cb1283dae09
已重启运行
旧设备程序已只备份到本地:
I:\AI\work\2026-05-25\recorder_management_20260525_1425\iba_pda.device.before_20260525_1430
已实现内容:
录波仪下面的子菜单:
文件管理 改为 录波管理
页面标题:
录波文件管理 改为 录波管理
默认目录:
左栏默认:/VFD/vfd_logs
右栏默认:U 盘里的 <usb>/VFD/vfd_logs
目录同步:
点开左栏或右栏的文件夹,会按相对路径同步左右两边。
点 上级 时,左右两栏也同时返回上级。
不会退到 vfd_logs 以上。
中间文件交换栏:
左到右、右到左、删除、刷新等功能逻辑保持不变。
发布记录:
I:\AI\work\2026-05-25\recorder_management_20260525_1425\RELEASE_20260525_1430_RECORDER_MANAGEMENT.md
建议你现场看一下界面:进入 录波仪 -> 录波管理,点 run_logs 或 fault_logs,再点 上级,确认左右栏同步变化。

5

主题

70

回帖

157

积分

管理员

积分
157
 楼主| 发表于 前天 15:38 | 显示全部楼层
请保存为基线版本,下一步:1、帧数请在满65535之后归零计数,系统信息显示的u盘信息不正确,请修正

0

主题

101

回帖

204

积分

管理员

积分
204
发表于 前天 15:39 | 显示全部楼层
我先把当前 20260525_1430 保存为基线,再从基线分支修帧数显示和系统信息里的 U 盘信息。
本地文本写入又触发了一次编码问题,我不继续用 PowerShell 文本写文件了;恢复基线源码后改用 Python 按字节替换,避免破坏中文字符串。
已完成。
先保存了当前基线:
I:\AI\baseline\touchscreen_recorder_iba_pda_20260525_1430_recorder_management_ok
基线包含:
20260525_1430 源码
iba_pda_20260525_1430
发布记录
部署验证日志
然后已修改、编译并部署新版本:
新版本:20260525_1540
设备程序:/root/iba_pda
MD5:aa7922b724c642047948a935e12391da
旧设备程序已只备份到本地:
I:\AI\work\2026-05-25\frame65535_usbinfo_20260525_1535\iba_pda.device.before_20260525_1540
本次修改:
帧数计数
已改为有效帧计数到 65535 后,下一帧归零为 0,然后继续计数。
系统信息里的 U 盘信息
原来读取的是 usbMountPath,在同时存在 /media/usb0 和 /media/usb1 时可能不准。
现在改为:
从 /proc/mounts 读取实际挂载的 U 盘;
优先选择带 /VFD 目录的挂载点;
再用这个真实挂载路径计算 U 盘使用率;
当前现场会优先识别 /media/usb0,因为它有 /media/usb0/VFD。
部署时现场检测到:
/dev/sdb1 -> /media/usb1
/dev/sda1 -> /media/usb0
/media/usb0 使用率为 0%
发布记录:
I:\AI\work\2026-05-25\frame65535_usbinfo_20260525_1535\RELEASE_20260525_1540_FRAME_USBINFO.md

5

主题

70

回帖

157

积分

管理员

积分
157
 楼主| 发表于 前天 15:40 | 显示全部楼层
现在通信中断了,请修正,u盘信息多了一个%号

5

主题

70

回帖

157

积分

管理员

积分
157
 楼主| 发表于 前天 15:41 | 显示全部楼层
现在通信正常了,刚才是发送方出故障了
请修正,u盘信息多了一个%号

0

主题

101

回帖

204

积分

管理员

积分
204
发表于 前天 15:43 | 显示全部楼层
我先查设备当前串口/进程状态和日志;同时把 U 盘显示多 % 的格式问题修掉。通信中断优先恢复,必要时从刚保存的 20260525_1430 基线重新打补丁。
定位到两个问题:
通信中断不是串口设备消失,/dev/ttyACM0 还在;日志显示程序每 0.8 秒反复给 /media/usb0、/media/usb1 创建/同步 VFD 目录,同时串口不断 no frame timeout,这版 U 盘路径修正太重,影响了通信循环。
U 盘多一个 % 是我上一版格式写成了双 %。
我现在从已保存的 20260525_1430 基线重新做一个最小修正版:只保留“帧数 65535 后归零”和“U 盘百分号修正/轻量读取”,去掉 1540 里反复扫描/同步 U 盘的逻辑。
已修正并重新部署。
问题定位:
/dev/ttyACM0 还在,程序也在运行;
但 20260525_1540 日志里串口反复 no frame timeout / reconnect;
同时那版 U 盘状态逻辑频繁扫描/处理 /media/usb0、/media/usb1,影响了通信接收;
U 盘多一个 % 是上一版格式写成了双百分号。
我已从稳定基线 20260525_1430 重新做最小修正版,只保留必要修改:
帧数到 65535 后下一帧归零;
恢复稳定的 U 盘状态逻辑,避免影响通信;
修正 U 盘使用率只显示一个 %;
版本号更新为 20260525_1545。
已部署:
新版本:20260525_1545
设备程序:/root/iba_pda
MD5:73ea794e672c85305602d6a91993a20c
旧设备程序已本地备份:
I:\AI\work\2026-05-25\comm_restore_usb_percent_20260525_1545\iba_pda.device.before_20260525_1545
部署后验证:
程序正在运行;
/dev/ttyACM0 存在;
日志已重新看到串口读取数据,例如:
read n=512 ...
read n=128 ...
也就是通信已经恢复接收。请你现场看一下界面,确认“通信中断”提示是否消失、U 盘百分号是否正常。

0

主题

101

回帖

204

积分

管理员

积分
204
发表于 前天 15:46 | 显示全部楼层
收到,通信这个判断我记下了:刚才是发送方问题,不算接收程序故障。
我现在只针对“U 盘信息多一个 %”做修正:保留 1540 里“实际挂载 U 盘识别”的修正,只把显示格式改成单 %,重新编译部署一个小版本。
我确认了一下:Qt4 这里不需要 %% 转义,"%1%%" 会显示成两个 %。应改为 "%1%"。我马上改成单 % 再编译部署。
收到,通信问题我已按你的确认更正记录:刚才是发送方故障,不是接收程序问题。
我已重新处理,只修正 U 盘多一个 % 的显示问题,并保留 20260525_1540 里已有的:
帧数到 65535 后归零;
实际挂载 U 盘识别逻辑。
已部署新版本:
版本:20260525_1550
设备程序:/root/iba_pda
MD5:be7f6e3a7607ca2eeb6562bc00340d3f
旧设备程序已本地备份:
I:\AI\work\2026-05-25\usb_percent_only_20260525_1550\iba_pda.device.before_20260525_1550
修正内容:
U 盘使用率显示格式改为单 %
例如现在应显示:U盘 0%
不再显示:U盘 0%%
部署后验证:
程序已运行;
/dev/ttyACM0 存在;
当前 /media/usb0 使用率为 0%。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部