- 博客(13)
- 收藏
- 关注
原创 python-can根据时间轮转记录can log
参考python-can源码logger.py中的SizedRotatingLogger,它是按文件大小轮转记录can log的。重载其中的函数,实现一种基于时间轮转记录的方法。
2025-06-14 18:21:15
135
1
原创 python实现UDP-CAN数据转换工具
====== windows(kvaser) linux(socketcan)创建虚拟can通道,结合cantools可视化解析数据 ============== scapy packet class 描述 udp 协议 (定长或不定长数据场)=============== cantools 生成应用层c代码实例(周期型can报文发送)=============== python-can 实现在线和离线 can包接发和读取 ============== 协议代码生成实例 ==========
2025-04-20 21:40:49
888
原创 shell脚本实现一种简易的测试框架
这样的话,把所有这些测试项对应的shell脚本都放置到一个文件夹下,在测试框架中通过遍历对应的文件夹文件,根据命名规则来正则查找出想要的测试脚本,并将他们的basename当作测试项名字(这里由于同一文件夹下不会有同名文件,所以列举出来的测试项都是可以通过文件名区分)。在pytest,unitest测试框架中,能够把以test开头的函数当作要执行的测试项。每次打开测试框架脚本,都能展示上一次最后的状态,展示状态的方式可以沿用颜色区分的方式,比如绿色代表通过,红色代表不通过,一开始默认是用黄色代表未测试。
2025-04-05 00:53:41
748
原创 激光雷达点云pcd文件 web可视化
需要用到里面的5个文件(lil-gui.module.min.js PCDLoader.js three.module.js OrbitControls.js three.core.js)希望运行的web应用是支持用户在web界面上选择对应的pcd文件进行显示的,同时支持鼠标进行web界面进行平移旋转缩放操作。把以上5个js文件放到是static文件夹中,在static的同级目录下写一个python程序pcd_web_viewer.py (路径关系会影响到脚本里的js路径)
2025-03-31 15:38:24
1066
原创 can测试用例 [ 信号初始值测试 , 填充位值测试 ] -- python实现
常见的can测试是 "被测件--vector设备--canoe (capl)"。测试规范,测试用例,测试框架,自动化都已经很成熟了。但缺点就是贵,改一版被测件的程序,复测又是一笔费用。所以,在最终版之前,尽可能用便宜高效的方案来做摸底测试。本文针对can测试规范中的两个简单测试用例,尝试用python加普通的can设备(canoe, pcan, kvaser, nvidia orin/socket-can ...)来实现测试。
2025-03-11 23:37:07
511
1
原创 can测试用例 [ DLC测试 , 周期测试 ] -- python实现
常见的can测试是 "被测件--vector设备--canoe (capl)"。测试规范,测试用例,测试框架,自动化都已经很成熟了。但缺点就是贵,改一版被测件的程序,复测又是一笔费用。所以,在最终版之前,尽可能用便宜高效的方案来做摸底测试。本文针对can测试规范中的两个简单测试用例,尝试用python加普通的can设备(pcan, kvaser, nvidia orin/socket-can ...)来实现测试。
2025-03-09 21:59:18
592
原创 自动驾驶传感器集成调试与验证
常见传感器有激光雷达,毫米波雷达,摄像头,超声波雷达,组合惯导等。1. 如何将传感器样件适配整车,打通数据流,调试其至正常工作状态。2. 开发一些验证工具,为不同车型和不同型号传感器的集成工作提效。数据传输物理链路有车载以太网,can/canfd,串口等。数据处理平台有x86,orin,tc397等。
2024-10-06 18:34:40
762
原创 python周期性执行函数
脚本中自定义了多个非阻塞型函数,这些函数有的需要每1秒执行一次,有的需要每2秒,或自定义的周期来执行。具体函数的调用周期标明在其函数名上,如函数名“job_4_cycle_seconds_1”的含义是job_4以每1秒钟一次的周期调用。
2024-08-12 15:54:47
402
1
原创 python实现ubuntu terminal文本终端显示图片和视频
摄像头数据通路验证,需要可视化图片或视频。域控制器没有接显示器,保存下来的图像又不想scp出来,可否直接ssh后在终端上显示图像。用法:python3 脚本名 图片名或视频名。终端内精细显示:(ctrl减号 缩小字体)
2024-06-28 18:50:10
493
原创 python处理车辆can通信 4 can数据实时可视化
本例子中选用没有硬件缓存的Linux Socketcan作为can通道,python中使用python-can来获取socketcan通道来发送和接收(一个py脚本发送,另一个py脚本接收并可视化)can报文,使用cantools来对报文中的can信号值进行encode和decode,使用pyqtgraph来实时显示can信号物理值的变化。
2024-06-01 23:08:34
1256
原创 python处理车辆can通信 3 can数据采集记录
关闭回调函数集# 关闭上面提到的按时长滚动记录后台线程# 关闭所有can通道# 程序被ctrl C或正常退出时会执行on_kill函数。
2024-05-13 18:27:40
1349
原创 python处理车辆can通信 2
DBC文件中的字符'@',"0+","0-","1+","1-","BO_","SG_","CM_","VAL_",”BA_DEF_“,"GenMsgCycleTime",“BA_” 等等是有特定标识符含义的,用来标志这行文本是描述报文或信号的字节序类型,数据类型(motorola,intel, signed,unsigned),报文名,报文ID,信号值枚举表,信号原始数值和真实物理值的线性转换关系,信号值单位,信号属性,报文周期等等。如果是车上的标准连接件,节点的总线间应该用带防水带屏蔽层的连接器连接。
2024-05-11 11:36:42
574
原创 python处理车辆can通信
1. python-can 这个库集成了多个主流的can通道接口,环境中安装好相应的can驱动,这个库就能调用相应的can接口。如windows中的canoe、zlg、vspy,linux或windows中的pcan、kvaser,linux中的socketcan等等。能用里面的notifier接口实现回调函数。还能记录成asc,blf,csv等标准数据文件。2. cantools 这个库是用来解析dbc,cdd等can通信标准协议文件的。可以将can报文数据场按dbc定义去解析成物理值。
2024-05-09 23:11:50
667
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人