背景
在进行嵌入式开发的时候常常会有很多log要打印,随着程序功能的逐渐复杂,log数量也越来越多,要从万千实时刷新的数据流从找到需要的log信息越来越困难和麻烦,如何改善这一现象,提高开发者的效率?纸飞机调试助手针对这个问题进行了专门的思考和设计,引入了一些想法来尝试解决这类问题。
一、关键字高亮特性
第一个想法就是关键字高亮。在技术快速发展的今天,几乎所有开发者的代码编辑器都支持了关键字高亮,通过不同颜色来强调传达不同的信息,使得开发工作有明显的提效,然而大多数调试助手的文本还依然是最简单的白底黑字,最多可以调一个背景色或者字体,在阅读体验上停留在非常原始的级别。于是纸飞机很自然的引入了关键字高亮特性,可以将数字、字符串、标点符号等信息用不同的颜色来表达。
// 首先定义宏函数简化后续工作
#define? ? PRINT(title, fmt, ...)? ? printf("{"#title":"fmt"}n", __VA_ARGS__)
// 若要绘图可以这样使用(两个曲线显示在plotter窗口)
PRINT(plotter,??"%f,%f",??data1, data2);
// 若要分窗显示可这样使用??(电压数据显示在monitor窗口)
PRINT(monitor,??"voltage is %f V", data1);