目录
一、背景及视频演示:
很多情况下在分析产品运行时的一些数据时,使用绘图的方式会比单纯的数字更有帮助。就如同示波器与万用表相比。最近因为项目需要,设计了一款基于python的数字示波器,演示如下:
数字示波器视频演示
二、使用方法:
可执行文件.exe在app文件夹下,另外包含一个名为analysis.json的文件,此文件内为数据包的解析格式:
{
"packet_length": 16,
"frame_end": ["0d", "0a"],
"data_format": [
{"name": "data1", "format": "uint32_t"},
{"name": "data2", "format": "float"},
{"name": "data3", "format": "uint32_t"},
{"name": "data4", "format": "uint32_t"}
]
}
数据数量支持拓展,当前支持最多40个数据的波形绘制。数据格式支持以下:
uint32_t
uint16_t
uint8_t
float
int
以一帧数据包为例:
a4 1a 20 20 82 04 33 43 bd 87 20 20 08 20 20 20 0d 0a
包含4个数据data1(uint32_t), data2(uint32_t), data3(float), data4(uint32_t);
数据包以0x0D, 0x0A结尾;
数据包包长(不含帧尾),长度为16.
三、使用说明及release版本下载:
地址栏输入文件路径;
点击解析按钮后,播放当前文件中各数据的波形;
鼠标右键横向拖动可横向放大波形,纵向拖动可纵向放大波形;
点击解析按钮可清空当前运行数据及图像。
勾选复选框可控制对应波形及其标注不显示。
所有波形以幅值最大的波形为基准进行比例放大,以便观察。
图像放大到一定程度后,会为每个数据点添加标记(x, 原始纵坐标),如果数据类型format为float,则该波形的纵坐标标记保留3为小数。如此可在保证图像便于观察的同时,观测原始数据。
修改json中的format,frame_end,packet_length,可实现相对自由地适配不同数据包结构。
修改name可修改显示界面中波形的名字及对应的复选框的名字。
为同学们提供了一个release版本,资源链接如下:
基于python的示波器https://download.csdn.net/download/QTRPio/88434158