正在更新中....
HeadPic: 凪白みと Log6

SuperPower 上位机

简介

SuperPowerClient

该项目是为了方便对TJ-SuperPower战队超级电容模块进行调试而搭建的上位机,同时也可拓展加入其他调试功能。本项目使用Visual Studio 2019搭建,运行于window系统。

项目的预期效果

  • 实时显示电容模块的使用状态,并可以通过上位机进行部分功能的设置
  • 通过IMU对于车体运动进行分析,评估电容模块的实际使用效果
功能模块使用的库/工具
图形绘制OpenGL 3参考教程
用户界面Dear ImGui项目地址
通信CSerialCSerial A C++ Class for Serial Communications

图表的绘制使用ImGUI的一个增强组件

STM32与上位机的通讯协议

使用串口进行数据收发,可以通过 串口,USB(虚拟串口),蓝牙串口 等方式实现。

通过以下协议来收发包含控制,陀螺仪,传感器值等信息,拟定的串口波特率为115200

内容说明长度
“SP”每一段数据的起始,SuperPower首字母2
内容类型以一个Byte来确定发送内容的相应类型,同时确定之后数据的长度1
内容实际传送的内容n

有一位停止位,那么每秒可发送115200/9=12800Byte信息,如果每个包长为20,那么每秒大约可发送640个包,大约可以使信息的更新频率维持在数百Hz

通信方式:

  1. 串口
  2. USB 使用ST 的VCP(Virtual COM Port)可以很方便地通过USB连接STM32与电脑进行串口通信
  3. 蓝牙 因为保持车体运动的情况下收发数据,蓝牙串口可以较为简单的实现这个需求

问题

  1. 如何使用ImGui绘制扇形图
  2. 如何对ImGui内部窗口排列
  3. 如何将窗口内的指定区域单独渲染
Last modification:January 19, 2022
If you think my article is useful to you, please feel free to appreciate