虚拟示波器

为什么叫VOFA+?#

Volt/伏特、Ohm/欧姆、Fala/法拉、Ampere/安培,是电气领域的基础单位,与他们的发明者——4位电子物理学领域的科学巨人,分别同名。

他们的首字母共同构成了VOFA+的名字,作者想向大家传达VOFA+的愿景——在与电气打交道的领域里,如自动化、嵌入式、物联网、机器人等,都能看到VOFA+的身影。同时寓意每一位使用VOFA+的工程师,都可以站在巨人的肩膀上不断创新和探索。

设计理念#

人们为了建立与计算机交互的渠道,发明了命令行,但由于使用命令行要求人们像机器一样思考和发送指令,只有少数专家才能顺畅使用。 直到人们发明了图形界面,以一种感官动物习以为常的操作逻辑,才让更多人有充分发挥计算机优势的能力,推动了人类社会进入了信息时代。

在嵌入式硬件的调试中,尽管效率低下,工程师们还是十年如一日地使用着串口助手、超级终端这种命令行风格的数据收发工具,对硬件进行调试。

以下几个原因限制了硬件工程师在调试中使用图形界面:

  • 对于硬件IO,直接输出字节流,编程难度最低;
  • 如果使用功能相近的行业专用上位机来进行图形化,需要处理复杂的协议;
  • 为了一个临时的调试需求,开发专用上位机,工作量大,得不偿失;
  • 工程师同时懂硬件、又懂软件,可遇不可求。

VOFA+致力于降低图形化调试的门槛:

  • 保留了传统字节流调试助手风格的数据收发功能,以应对非图形化调试需求;
  • 通过直观极简的协议设计和方便快捷的命令绑定,硬件工程师无需处理复杂的协议逻辑,只需以面向串口助手的编程方式,就能获得强大的数据可视化、数据分析、使用控件发送指令的能力;
  • 拥有一个可裁剪的系统,"丰俭由人"。通过添加控件的方式,工程师可以定制一个无限丰富的调试界面;也可以仅仅使用极简的字节流收发界面,无须担忧系统占用繁重;
  • 拥有一个开放、开源的插件系统:
    • 用户可以定制符合自己需求的协议和控件;
    • 通过开源社区的力量,VOFA+的调试生态可以不断发展繁荣。

VOFA+特点概览#

  • 平台支持:WindowsLinuxMacOS
  • 接口支持:串口(超高波特率,稳定支持)、网口(TCP客户端/服务端,UDP);
  • 协议支持:协议为插件,已开源,人人可编写。目前已支持CSV风格的字符串协议,和十六进制浮点数组形式的字节流协议;
  • 控件支持:控件为插件,已开源,人人可编写。目前已支持波形图、按钮、状态灯、图片、滑动条、3D立方控件(可更换模型)等;
    • 2维度与3维,一个也不能拉下;
    • 自主研发的波形控件,支持每通道百万采样点的绘制,性能强劲;
    • 自主研发的波形控件,无缝嵌入了实时直方统计点数可设置的傅里叶变换,可以使用VOFA+进行数据分析。
  • 传统字节流收发调试功能依然支持;
  • 拖拽方式添加控件,交互流畅自然;
  • 快捷的命令、参数绑定系统,发送指令同样优雅。

快速开始

本文目标

本文以FireWater协议为例,教你快速开始第一次波形绘制,让你知道在VOFA+里绘制波形是多么容易的一件事情。

关于协议引擎,您需要注意:

  • 不同协议,字节流收发区打印文本的情况有所不同;
  • 如果您只是想将本软件当成串口助手使用,选择RawData协议,可以保证接收到什么打印什么
  • 请前往 协议引擎章节查看各协议详情。

绘图步骤#

1. 选择调试方式,并设置好参数#

2. 选择firewater协议引擎#

3. 发送数据#

以Arduino的代码为例:

void setup()

{

Serial.begin(115200);

}

float t = 0;

void loop()

{

t += 0.1;

Serial.print("d: %f, %f\n", sin(t), sin(2*t));

delay(100);

}

协议详情

关于协议的详细信息,请前往 协议引擎 章节查看。

4. 添加波形控件并绑定数据#

  • 从控件栏拖出波形图;
  • 右键菜单→绑定Y轴;
  • 保证绿色条拖动到最右,这样波形图显示的才是最新的数据;
  • 点击Auto,保证Y轴量程落在波形最大最小值范围内。

猜你喜欢

转载自blog.csdn.net/qqk808/article/details/143515523