OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5044|回复: 1

适用于多任务场景下的纸飞机调试助手

[复制链接]

0

主题

0

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2021-5-1
在线时间
3 小时
发表于 2021-5-1 23:03:06 | 显示全部楼层 |阅读模式
本帖最后由 inhowe 于 2021-5-5 00:50 编辑

背景
在进行嵌入式开发的时候常常会有很多log要打印,随着程序功能的逐渐复杂,log数量也越来越多,要从万千实时刷新的数据流从找到需要的log信息越来越困难和麻烦,如何改善这一现象,提高开发者的效率?纸飞机调试助手针对这个问题进行了专门的思考和设计,引入了一些想法来尝试解决这类问题。
一、关键字高亮特性
第一个想法就是关键字高亮。在技术快速发展的今天,几乎所有开发者的代码编辑器都支持了关键字高亮,通过不同颜色来强调传达不同的信息,使得开发工作有明显的提效,然而大多数调试助手的文本还依然是最简单的白底黑字,最多可以调一个背景色或者字体,在阅读体验上停留在非常原始的级别。于是纸飞机很自然的引入了关键字高亮特性,可以将数字、字符串、标点符号等信息用不同的颜色来表达。
关键字高亮.jpg

二、数据分窗特性
第二个想法就是数据分窗。我们知道操作系统中引入了多任务的概念,每一个任务完成一个特定的功能,任务之间相对独立,互不干扰,那么很自然的,各个任务之间的log数据也可以是独立的,如果能把各个任务的数据显示在不同的窗口,我们就可以筛掉大部分的信息,专注于我们想要关注(正在调试)的任务的log信息。
数据分窗.gif

三、数据过滤特性
数据分窗是一种方法,但是能不能再简单一点?或者再自由一点?纸飞机也提供了一种解决方案:输入任意英文字符作为关键字,自动提取包含关键字的log数据并显示。这和linux系统下的grep命令非常相似,它可以快速帮助我们从数据流中提取想要的log数据。 数据过滤.gif

四、多窗口绘图特性
既然数据分窗功能可以对文本信息进行分窗显示,那为何不增加一个绘图功能,并同时支持分窗显示呢?这样子我的环境监控任务可以绘制一条温湿度曲线,系统监控任务可以绘制一条CPU负载曲线,二者互不干扰。所以,纸飞机也是支持多窗口绘图的,不仅如此,还支持数值表格化显示和频谱图。因此,你可以利用绘图功能观察数据的变化情况,可以利用数值表格化显示来只观察最新的数据,或者频谱图来观察数据的频域信息。
多窗口绘图.gif

五、其他特性
纸飞机调试助手十分重视改善用户的工作体验,因此还有其他很多特性。比如:
  • 纸飞机是一款串口/网络二合一的调试器,互联网概念已经火了很久了,没有理由不支持网络调试模式对不对;
  • 纸飞机内置了HEX转换小工具,可以实现ascii、hex、和float数据的快速相互转换,此外还有ISP下载工具、ASCII码表、运算优先级表等小工具;
  • 纸飞机支持数据实时记录仪,可以实时记录接收的数据(包括原始数据和解析出来的曲线数据)
  • 纸飞机具有数据恢复机制,不用担心因软件意外崩溃丢失了你的重要数据。(尽管它十分稳定,但是有这么一个机制对你的数据安全总是有好处的)
  • 纸飞机具有多样的数据保存功能:原始数据、显示数据、曲线数据、曲线图片等。
  • 纸飞机有Linux版本,这得感谢QT的跨平台特性。

六、如何使用
要使用数据分窗或者多窗口绘图功能,需要按照一定的协议发送数据给纸飞机。
这个协议叫ASCII协议,因为构成十分简单,是具有下列风格的字符串:
  1. "{title:string}\n"
复制代码

其中:
  • title是自定义的英文标题,纸飞机将根据title建立不同的窗口。
  • string是任意英文数据,这些数据将显示在对应title的窗口下。
  • {}是一堆花括号,而\n是一个换行符,不可以省略。

C语言简单改造printf即可使用,举例:
  1. // 首先定义宏函数简化后续工作
  2. #define    PRINT(title, fmt, ...)    printf("{"#title":"fmt"}\n", __VA_ARGS__)

  3. // 若要绘图可以这样使用(两个曲线显示在plotter窗口)
  4. PRINT(plotter,  "%f,%f",  data1, data2);

  5. // 若要分窗显示可这样使用  (电压数据显示在monitor窗口)
  6. PRINT(monitor,  "voltage is %f V", data1);
复制代码


最后,纸飞机调试助手可以通过这个链接进行下载使用。
http://www.inhowe.com/ComAssistant/Eval.html




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-6-1
在线时间
3 小时
发表于 2021-5-7 15:23:06 | 显示全部楼层

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 16:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表