VOFA+ dataengines-Random
为VOFA+实现的自定义数据引擎协议插件Random
拓展firewater协议,增加多组数据 空格" " 匹配,增加数据标题 等号 "=" 匹配
使用CI持续集成(Github actions)来自动化完成插件的编译和发布,利用云端服务器处理从而免去本地安装和配置编译环境的困扰,更加专注事情本身。
Windows | Release | Download | Issues | Wiki |
---|---|---|---|---|
Random遇到换行才会打印数据,很多新用户在这里产生疑惑。
本协议是CSV风格的字符串流,直观简洁,编程像printf简单。但由于字符串解析消耗更多的运算资源(无论在上位机还是下位机),建议仅在通道数量不多、发送频率不高的时候使用。
"<any>:ch0,ch1,ch2,...,chN\n"
或
"<any>=ch0,ch1,ch2,...,chN\n"
- any和冒号可以为空,但换行(\n)不可省略;
- any不可以为"image",这个前缀用于解析图片数据;
- 此处\n为换行,并非指字符斜杠+字符n;
- \n也可以为\n\r,或\r\n。
- 发送4个曲线的数据长这个样子
"channels: 1.386578,0.977929,-0.628913,-0.942729\n"
或
"channels= 1.386578,0.977929,-0.628913,-0.942729\n"
- 或者不加any和冒号
"1.386578,0.977929,-0.628913,-0.942729\n"
或
"1.386578 0.977929 -0.628913 -0.942729\n"
或
"1.386578,0.977929 -0.628913 -0.942729\n"
/*
for test VOFA+
by Enzo
*/
void setup() {
//Initialize serial and wait for port to open:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}
float thisByte = 0.0f;
void loop() {
Serial.print("F= ");
Serial.print(sin(thisByte)*100.0f);
Serial.print(",");
Serial.print(cos(thisByte)*100.0f);
Serial.print(" ");
Serial.print(sin(thisByte)*50.0f);
Serial.print(" , ");
Serial.print(cos(thisByte)*50.0f);
Serial.print(" ");
Serial.print(sin(thisByte));
Serial.print("\r\n");
delay(50);
thisByte += 0.1f;
if (thisByte == 360.0f) { // you could also use if (thisByte == '~') {
thisByte = 0.0f;
}
}
感谢 je00 创造VOFA+这个免费且功能强大的平台,方便广大爱好者高效的开发和调试!
感谢同事LiYang,帮忙提供了初步的插件雏形并利用Github的CI/CD来进行发布,为我打开新世界的大门!