正在更新中....
HeadPic: 凪白みと Log6
SuperPower 上位机
简介
SuperPowerClient
该项目是为了方便对TJ-SuperPower战队超级电容模块进行调试而搭建的上位机,同时也可拓展加入其他调试功能。本项目使用Visual Studio 2019搭建,运行于window系统。
项目的预期效果
- 实时显示电容模块的使用状态,并可以通过上位机进行部分功能的设置
- 通过IMU对于车体运动进行分析,评估电容模块的实际使用效果
功能模块 | 使用的库/工具 | |
---|---|---|
图形绘制 | OpenGL 3 | 参考教程 |
用户界面 | Dear ImGui | 项目地址 |
通信 | CSerial | CSerial A C++ Class for Serial Communications |
图表的绘制使用ImGUI的一个增强组件
STM32与上位机的通讯协议
使用串口进行数据收发,可以通过 串口,USB(虚拟串口),蓝牙串口 等方式实现。
通过以下协议来收发包含控制,陀螺仪,传感器值等信息,拟定的串口波特率为115200
内容 | 说明 | 长度 |
---|---|---|
“SP” | 每一段数据的起始,SuperPower首字母 | 2 |
内容类型 | 以一个Byte来确定发送内容的相应类型,同时确定之后数据的长度 | 1 |
内容 | 实际传送的内容 | n |
有一位停止位,那么每秒可发送115200/9=12800Byte信息,如果每个包长为20,那么每秒大约可发送640个包,大约可以使信息的更新频率维持在数百Hz
通信方式:
- 串口
- USB 使用ST 的VCP(Virtual COM Port)可以很方便地通过USB连接STM32与电脑进行串口通信
- 蓝牙 因为保持车体运动的情况下收发数据,蓝牙串口可以较为简单的实现这个需求
问题
- 如何使用ImGui绘制扇形图
- 如何对ImGui内部窗口排列
- 如何将窗口内的指定区域单独渲染
Comment here is closed