SerialChart 串口示波器

SerialChart

SerialChart是一个由Sergiu Baluta开发的开源应用程序。SerialChart用于实时绘制通过串口(RS-232)端口发送的数据。它通过插件和WebView javascript集成支持其他类型的端口。模块化设计允许激励编码器添加新型端口、解码器和显示过滤器。基本数据处理流程为:

端口(来自串行/USB端口的原始数据)->解码器(处理数据)->值(显示在屏幕/图表上)

对于基本用户,编译后的现成版本可在系列图表官方网页下载:

http://starlino.com/serialchart

有关微控制器(Arduino)项目的示例使用请参见:http://starlino.com/imu_kalman_arduino.html

http://starlino.com/data/imu_kalman_arduino/imu_arduino_serial_chart.png

SerialChart应用程序的配置文件语法。

介绍

SerialChart配置是通过一个文本文件完成的。该文件的一般格式如下:

[section1]
param1 = value
param2 = value
...

[section2]
param1 = value
param2 = value

设置部分

每个配置文件都以“[setup]”部分开始,在这里您可以设置全局参数。例如:

[_setup_]
port=COM3   
baudrate=57600

width=1000
height=201
background_color = white

grid_h_origin = 100
grid_h_step = 10
grid_h_color = #EEE
grid_h_origin_color = #CCC

grid_v_origin = 0
grid_v_step = 10
grid_v_color = #EEE
grid_v_origin_color = transparent

下面是可以在’ [setup] '部分中使用的参数:

port-端口

指定软件连接到的通信端口。例如:COM1,COM2,…

baudrate-波特率

波特率(单位:bps)。目前只支持某些值:110,300,600,1200,2400,9600,19200,38400,57600,115200。

请注意,目前不支持流量控制参数,奇偶校验将默认为“none”,停止位默认为1,因为这些是最常见的值。

width, height-宽度、高度

图表区域的宽度和高度,以像素为单位。

background_color-背景\颜色

图表的背景颜色。

Note about color formats-颜色格式注意事项

请注意。scc文件中的颜色可以用十六进制格式指定(例如:#FFF,或#FFFFFF)或命名颜色(白色,蓝色,品红,粉红色,灰色)见:http://www.w3.org/TR/SVG/types.html#ColorKeywords。请注意特殊值_transparent_表示“无颜色”。如果你根本不想绘制一些元素,你可以使用它。

grid_h_origin, grid_v_origin-起始网格

水平网格和垂直网格都有一条起始轴线,通常与常规网格线的颜色不同。这些参数指定该线从图表的上/左边界的移动像素。

grid_v_origin_color, grid_v_origin_color,

-网格原点(轴)线的颜色

grid_h_step, grid_v_step,

-在从原点线开始的每一步像素处画一条网格线。

grid_h_color, grid_v_color,

-规则网格线的颜色。

解码器:

指定CSV解码(默认)

decoder = csv

指定二进制解码

decoder = bin

指定hdlc风格的解码

decoder =hdlc
hdlc_esc =7d
hdlc_sep =7e
hdlc_xor =20

显示方式

显示来自端口的原始数据(默认)

display = raw

将数据显示为值列表

display = list
display_sep = ,
display_skip_transparent = 1

请注意:分隔符可以在Percent Encoded字符串中指定,例如使用TAB分隔列表:

display = list
display_sep = %09

提示:标签分开的值可以很容易地复制和粘贴到Excel电子表格。(在Excel中使用粘贴>特殊粘贴,并选择文本作为格式)。

显示数据为十六进制字符串

display = hex

打开USB HID设备(键盘/鼠标/手柄)

port = HID   
vid = 0079
pid = 5d0f

提示:使用USBDeview http://www.nirsoft.net/utils/usb_devices_view.html这样的实用程序来查找特定设备(VID/PID)的供应商和产品id。

默认和字段部分

SerialChart接受CSV格式的数据包(将来可能支持其他格式)。每个包在单独的一行上,每个字段值用逗号分隔。下面是SerialChart将接收的示例数据示例:

100,0.50,0.70
101,0.30,0.50
102,0.25,0.35

配置文件中以下部分的目的是为数据包中的每个字段指定参数。例如:

[_default_]
min=-1
max=1

[Field1]
color=gray
min=0
max=255

[Field2]
color=blue

[Field3]
color=red

您可以指定在默认情况下应用于[_default_] 节中的所有字段的参数。这些参数将应用于所有字段节,除非它们将在字段节中被具有相同名称的参数覆盖。

在上面的例子中,注意Field2和Field3将从[_default_] 部分继承min=-1和max=1。但是Field1将用min=0和max=255覆盖这些值

在定义了默认参数之后,您应该为数据包中接收的每个字段定义一个部分。字段段应该按照它们在包中接收的顺序排列。

字段节的名称可以随机选择,但应与默认的名称 _setup_[_default_] 不同。因此,避免使用任何以“_”开头和结尾的名称。

下面是[_default_] 和字段部分中接受的参数的解释:

min,max-最低,最高

这些字段值对应于图表的顶部和底部线。换句话说,如果你指定min = -1, max = 1。值-1将被绘制在图表的顶部边界,值1将被绘制在图表的底部边界。值0(即-1和1之间的中点)将被绘制在图表的中间。字段值从’ [min,max] ‘范围线性映射到’ [0,height] '范围,其中_height_是以像素为单位的图表高度,在设置部分中指定。

color-颜色

这是用于绘制字段值的颜色。如果您不希望绘制特定的字段,请使用_transparent_ color value。

dash

创建中断的行。例如:

dash = 3

将渲染3个样本,然后不渲染接下来的3个样本,然后渲染3个样本,然后再次暂停3个样本,等等…

Specify data length/type for BIN/HDLC decodings-指定BIN/HDLC解码的数据长度/类型

type = byte / sbyte / word / sword / float

Specify data Endianness-指定数据字节顺序

参照 http://en.wikipedia.org/wiki/Endianness

endian  = msbf / lsbf

msbf ->最高位字节优先

lsbf->最低有效字节优先

Specify data format for custom display (ex: display = list)-指定自定义显示的数据格式(例如:display = list)

format = %g / %f / %d / %n / %s / %x

%n ->字段名

%f ->浮点数,格式为-9.9

%g ->浮点数,格式为-9.9或-9.9e+9,以较短者为准

%d ->十进制整数

%s ->此值的原始数据

%x ->十六进制的原始数据

可以组合如下格式:

[MyField]
type = float
precision = 3
format = %n = %f

将输出ex:

... , MyField ’ = ’ 1.123,…

Set precision of floats in format-在格式中设置浮点精度

precision = 6   

下面是如何应用这种格式(提供源代码):

v.replace(QByteArray("%g"),QByteArray::number(packetValues[i].toDouble(),'g',precision));
v.replace(QByteArray("%f"),QByteArray::number(packetValues[i].toDouble(),'f',precision));
v.replace(QByteArray("%d"),QByteArray::number(packetValues[i].toInt(),'f',0));
v.replace(QByteArray("%n"),field.toAscii());
v.replace(QByteArray("%s"),packetParts[i]);
v.replace(QByteArray("%x"),packetParts[i].toHex());

Using h_origin and pitch field parameters-使用“h_origin”和“pitch”字段参数

例如:

[Field1]
h_origin = 50
pitch = 10

使用’ h_origin '来指定与字段值0对应的水平线。因此,在上面的例子中,0将被绘制在图表上边框下方50像素处。

使用“pitch”来指定有多少单位的字段值对应于图表上的一个像素。因此,在上面的例子中,Field1 = 20将被绘制在图表顶部边界下方50 - 20 / 10 = 48像素处。

请注意,’ h_origin ‘和’ pitch ‘,就像任何其他字段参数一样,可以在’ [default] '部分中指定,默认应用于所有字段。

如果没有指定’ h_origin ‘或’ pitch ',那么它将根据字段的min / max参数自动计算,因此max值总是在图表的最上面一行上绘制,min值总是在图表的最下面一行上绘制。

Sending Data-发送数据

从0.3.2版本开始,可以将数据发送到COM端口。这可以通过使用发送框或从配置文件(在运行或停止时)._自动完成

发送的字符串支持以下转义字符:

\\  ->  \
\n  ->  0x0A  (line end)
\r  ->  0x0D  (line feed)
\t  ->  0x07  (tab) 
\xAB -> byte with hex code AB
\d123 -> byte with decimal code 123

send_run-发送\运行

send a string when port is opened (run button clicked)-当端口打开时发送一个字符串(单击运行按钮)

send_run = +++\nAT\n

send_stop-发送\停止

send a string when port is closed (stop button clicked)-当端口关闭时发送一个字符串(单击停止按钮)

send_stop = exit\n

x code AB
\d123 -> byte with decimal code 123


## send\_run-发送\运行

### send a string when port is opened (run button clicked)-当端口打开时发送一个字符串(单击运行按钮)

send_run = +++\nAT\n


## send\_stop-发送\停止

### send a string when port is closed (stop button clicked)-当端口关闭时发送一个字符串(单击停止按钮)

send_stop = exit\n


  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
示波器相信大家都知道了,在设备的连接汇总,通过示波器判断设备的连接方式,检测设备的兼容性等都是非常重要的,这款ComDigitalScopeV100串口示波器软件功能丰富,是一款集硬件设备的检测与串口的连接,查看各种示波器的变化数据,支持恢复,暂停,移动,调焦,放大,缩小, X 轴调节,Y 轴调节等功能于一体的工具,有需要的用户千万不要错过哦。 ComDigitalScopeV100是一款功能丰富的串口示波器软件,该软件主要您可以将示波器的图像调整到适应您浏览大小的比例,也可以直接缩放到最大化,方便您观察不同数据段的波形变化。 本程序在相应硬件(如USB转TTL,高速RS232等)支持下能够进行串口高速数据采集,并使数据在PC机上实时图形显示。 正常操作时,点击START按钮,打开串口接收功能,软件将从串口接收到的数据实时图形化显示。 下位机只要按照说明书的格式通过串口向上发送数据,上位机即可将接收到的数据显示成为波形,有AA55,CRC,SUM的数据校验方式。 当下位机持续向上位机发送满足要求的数据时,软件则会将收到的数据显示为1-8条曲线。 您可根据需要任意扩大缩小图形,并可保存以备下次分析。同时该程序还具有串口调试助手功能。 这是一款功能极其强大的串口调试工具,界面明了,易于使用,若应用于下位机程序开发等工作,将大大提高您的开发效率,成为您必不可缺的开发助手。 ComDigitalScopeV100 有两条坐标T0 T1 ,有T0,T1之间最大最小值显示。可更改各个数据通道名称,以及数据显示倍数显示调整等功能。 试用版本,COM1,波特率为9600bit/s。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值