曲线控件

1. 属性

属性

说明

id

控件ID号,不可更改

global

勾选:作用于全局,不勾选:作用于所在页; 不可脚本读写

name

控件名称,可改,默认名称,curvedLine+序号

x

控件起始点x坐标

y

控件起始点y坐标

width

控件宽度,可读写

height

控件高度,可读写

locked

勾选后锁定控件位置,但不影响脚本操作控件属性

visible

控件是否可见,脚本:curvedLine.visible=1,可见,curvedLine.visible=0,不可见

opacity

不透明度,opacity=0,完全透明,opacity=100,完全不透明。值介于0~100之间。默认100,非必要不建议修改此项。
注:仅S系列支持调整透明度

bgType

背景类型,可选择颜色、图片。

bgColor

背景类型是颜色时,选择背景颜色。

bgImg

背景类型是图片时,选择背景图片。 根据图片资源名称和顺序号选择。

bgImgMd

背景类型是图片时,默认背景图片的对齐模式。
控件对齐:图片左上角对齐控件左上角。
页面对齐:图片左上角对齐页面的左上角

gdWidth

网格宽度,如果不需要网格线,可设置为0

gdHeight

网格高度,如果不需要网格线,可设置为0

horglw

水平网格线条宽度,如果不需要网格线,可设置为0

werglw

垂直网格线条宽度,如果不需要网格线,可设置为0

horgc

设置水平网格线条的颜色

vergc

设置垂直网格线条的颜色。

xStep

曲线打点时水平步进的距离,单位,像素。

mode

曲线绘制的模式
Mode1:推进式绘制
Mode2:覆盖式绘制
Mode3:折线图模式(新增)

maxVal

数据的最大值。

minVal

数据的最小值。

pCount

每个通道显示的点的数量,但是超过x轴总像素除以步进距离的值后,无效。

numType

1.每个数据点的值的类型:字符型,2字节整型,4字节整型,四字节浮点型。
2.为了方便客户采样后不用转数据,直接发送到串口屏模块,定义了四种数据类型。
3.客户选用数据类型后,定义实际需要的最大值和最小值(支持正负数)后,可以直接发送收集到的二进制数据到三易串口屏模块,模块根据具体数值算出数据应该显示的点位,自动显示。

chCount

数据通道数量,也就是要显示几条曲线,目前支持最多3条。

ch1Color

通道一的数据打点颜色。

ch1Width

通道一的数据打点的线宽,单位:像素点。

ch2Color

通道二的数据打点颜色。

ch2Width

通道二的数据打点的线宽,单位:像素点。

ch3Color

通道三的数据打点颜色。

ch3Width

通道三的数据打点的线宽,单位:像素点。

2. 方法

2.1. clear

清除指定通道的数据

void clear(int chId)

参数

chId:

通道号,范围1~3

返回值


2.2. setPoint

设置折线图模式(Mode3)的点数据,该函数仅在Mode3模式下有效

void setPoint(int chId, int pid, float x, float y)

参数

chId:

通道号,范围 1~3

pid:

点序号,范围 0~ pCount

x:

横坐标值,显示的位置与 minValX,maxValX 相关

y:

纵坐标值,显示的位置与 minVal,maxVal 相关

返回值


3. 示例

3.1. 在脚本中访问属性(控件名以curvedLine0为例)

3.1.1. 获取曲线控件背景类型(curvedLine0.bgType)

例如 定义一个整数,获取控件背景类型

int type;
type=curvedLine0.bgType; //返回值为0背景类型为颜色,返回值为2背景类型为图片

3.1.2. 设置曲线控件的背景颜色(curvedLine0.bgColor)

例如 设置曲线控件背景颜色为红色

curvedLine0.bgColor=0xffff0000;  //十六进制颜色格式

应用技巧:利用控件不同状态下的背景颜色是设计UI是最方便有效的方法,vp提供控件在不同操作状态下的背景颜色供客户使用

3.1.3. 设置整数控件背景图片(curvedLine0.bgImg)

例如 设置整数控件背景图片为图片素材库第一张图片

curvedLine0.bgImg=1;

应用技巧:利用控件不同状态下的背景图片可以设计不同风格的ui,vp提供非常自由的图片选择,图片尽量选用JPG格式,系统解码更快,运行更流畅,控件背景图片的对齐方式可以选择页面对齐,这样可以与页面背景用同一张图片,这样会最大程度的减少素材所占空间,系统运行也会更快,G系列暂时不支持带透明格式的png图片,但是S系列则支持这一选项

3.1.4. 设置曲线控件的网格宽度(curvedLine0.gdWidth)

例如 设置曲线控件的网格宽度为30

curvedLine0.gdWidth=30; //默认为20

3.1.5. 设置曲线控件的网格高度(curvedLine0.gdHeight)

例如 设置曲线控件的网格高度为30

curvedLine0.gdHeight=30; //默认为20

应用技巧:网格的宽高表示网格的大小,用户可根据实际数据来设置最佳显示的尺寸

3.1.6. 设置曲线控件的通道数量(curvedLine0.chCount)

例如 设置曲线控件的通道的数量为2

curvedLine0.chCount=2; //最高3个

应用技巧:在某些应用场景下,用户需要同时显示多个数据曲线,vp提供了这种可能,

用户最多可在同一曲线控件显示三条曲线。

3.1.7. 设置曲线控件的通道1的颜色(curvedLine0.ch1Color)

例如 设置曲线控件通道1的颜色为红色

curvedLine0.ch1Color=0xffff0000; //十六进制颜色格式

应用技巧:不同通道表示不同曲线,用颜色区分其ui是比较常见的区分方式,在vp中也是唯一的区分方式

3.1.8. 设置曲线控件的通道1的当前值(curvedLine0.ch1Val)

例如 设置曲线控件通道1的当前值为20

curvedLine0.ch1Val=20;

应用技巧:设置通道当前值,主要有两个方式,首先是addt数据透传,其次是通过协议。透传有专用的格式,对应文档有详细介绍,协议设置则是通过示例的方式对通道进行赋值

3.1.9. 设置曲线控件的最大值(curvedLine0.maxVal)

例如 设置曲线控件的最大值为50

curvedLine0.maxVal=50; //默认最大值100

3.1.10. 设置曲线控件的最小值(curvedLine0.minVal)

例如 设置曲线控件的最小值为-20

curvedLine0.minVal=-20; //默认最小值为-100

应用技巧:当用户的应用场景对数据有效性有要求时,最值设置可以过滤掉一部分超出范围的无效数据

3.1.11. 设置曲线控件的长度(curvedLine0.height)

例如 设置曲线控件的长度为400

curvedLine0.height=400;

3.1.12. 设置曲线控件的宽度(curvedLine0.width)

例如 设置曲线控件的宽度为700

cervedLine0.width=700;

3.1.13. 设置曲线控件的x轴(curvedLine0.x)

例如 设置曲线控件的x轴为30

cervedLine0.x=30;

3.1.14. 设置曲线控件的y轴(curvedLine0.y)

例如 设置曲线控件的y轴为50

curegdLine0.y=50;

应用技巧:控件的长宽和xy表示控件的大小和坐标,用户可根据不同的应用场景做处设置,这些属性都是可读写的,运行过程也可编辑这些属性,实现隐藏,移位,调用等效果。

3.1.15. 设置曲线控件新旧数据的间距(curvedLine0.dataSpace)

例如 设置间距为2

curvedLine0.dataSpace=2 //默认为0

应用技巧:间距表示两个数据之间的

3.1.16. 设置曲线控件x轴的步进(curvedLine0.xStep)

例如 设置控件x轴的步进为10

curvedLine0.xStep=10; //默认为5

应用技巧:数据的间距是两个数据之间相隔的距离,x轴步进是曲线x坐标单位之间的距离,这两个属性在ui显示上有相似之处,前者是指数据,后者是指x坐标,用户使用时需要区分一下。

3.1.17. 设置曲线控件的可见性(curvedLine0.visible)

例如 设置控件为不可见

curverdLibne0.visible=0;  //0为不可见,1为可见

应用技巧:vp工程中控件并非时时必须显示,可视性这个属性实现了控件视觉效果的可编辑性,用户自定义可视性,可配合其他控件在脚本中编辑,也可以配合协议解析器,在通讯过程中控制控件的显示和隐藏,简单直接且行之有效。

3.1.18. 设置曲线控件的透明度(curvedLine0.opacity)

例如 设置控件的透明度为50

curevrdLibne0.opeacity=50;

应用技巧:透明度在UI上的用处就是能透过控件看到背景,特定风格之下的UI大有用处,但是透明度会增加系统工作量,非必要时刻不建议使用,如果背景素材希望设置成带透明的,目前网络上很多制图P图软件都可以做到这一点,将素材做成图片图片很多时候都是一个不错的选择。

4. 常见应用

  1. 曲线控件的应用主要是用来显示数据,用户可制作实时曲线和历史曲线,用曲线显示数据,利于观察数据变化趋势。

  2. Addt透传可以直接传输曲线数据,无需任何脚本,对应历程有详细介绍,可移步查阅;

5. 常见问题

一个曲线空间最多显示的数据点的数量是2048,但是协议解析器单次能接收缓存的数据最大长度为1024,addt透传时要考虑到这一点,不可一次传输过长的字节,数据较长时,应该考虑多次发送。