# Vodka **Repository Path**: duanjie2/Vodka ## Basic Information - **Project Name**: Vodka - **Description**: VOFA+ Plugins - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 91 - **Created**: 2020-04-24 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README


[付费交流群:716572642](https://jq.qq.com/?_wv=1027&k=5ss7Jn4) # 关于此仓库 * 伏特加上位机自2020年3月27将改名为VOFA+,协议和控件仓库名称不变。 * Vodka是VOFA+上位机的插件库,当前包含[3个协议](#protocal)、[5个控件](#widget)。 * **VOFA+主体尚不开源,此仓库的代码仅仅是插件代码**。 * 此仓库也存放VOFA+软件的使用issues,和使用说明书等资料。 * VOFA+上位机主体新版本也会发布在此处。 ## VOFA+是什么 * Volt(伏特)、Ohm(欧姆)、Fala(法拉)、Ampere(安培),是4个传感器信号的常用单位,同时也是4位电子物理学的伟大前驱。 * VOFA+是一款通过直观简洁的协议将字节流翻译成多通道数据的软件,支持十六进制浮点数据,也支持CSV格式字符串流,具体协议请查看[协议介绍](#protocal)。 * VOFA+通过拖动的操作逻辑动态添加控件,并将数据绑定到控件上,以实现传感器数据的可视化,具体协议请查看[控件介绍](#widget)。 * [前往下载VOFA+](https://gitee.com/je0000/Vodka/releases) ## 协议介绍 ### 1. RawData 接收什么数据,就在文本区显示什么。**如果你仅仅把VOFA+当成串口助手来使用,发送的数据杂乱无章,那么必须使用RawData协议**,其他协议会因为一直穷举数据帧标志,导致过度使用CPU资源。 ### 2. FireWater(烈酒协议) 本协议是CSV风格的字符串流,直观简洁,编程简单。但由于字符串解析消耗更多的运算资源(无论在上位机还是下位机),**建议仅在通道数量不多、发送频率不高的时候使用**。 1|2 :-:|:-: 特点|纯字符串,像printf一样简单 数据格式| "any:float0,float1,float2,...,floatN\n" 发送4个曲线的例子|"d0:1.386578,0.977929,-0.628913,-0.942729\n" #### 示例代码 ``` 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); } ``` ### 3. JustFloat **此协议非常适合用在通道数量多、发送频率高的时候。** 1|2 :-:|:-: 特点|小端浮点数据,纯十六进制浮点传输,节省带宽 数据格式| float f[N +1]; f[0]=data0; f[1]=data1; ... ; f[N-1]=dataN; \*((int\*)&f[N])=0x7F800000; 发送4个曲线的例子|bf 10 59 3f b1 02 95 3e 57 a6 16 be 7b 4d 7f bf 00 00 80 7f #### 示例代码 ``` float data[6]; char[4] tail = {0x00, 0x00, 0x80, 0x7f}; data[0] = DATA0; data[1] = DATA1; data[2] = DATA2; data[3] = DATA3; data[4] = DATA4; data[5] = DATA5; Serial.write((char *)data, 24); Serial.write(tail, 4); ``` ## 控件介绍 1. 多功能波形图(未开源) 可切换柱状图,直方统计图、FFT,运算在上位机完成。 2. 回弹按钮 3. 可替换模型的3D立方 4. 图片 5. 状态灯 6. 滑动条