[嵌入式] 自定义UI界面

[复制链接]
下士Autism__
2021-4-8 15:22:59 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Autism__ 于 2021-4-9 16:52 编辑

自定义UI

声明:写这个blog的目的只是为了总结我弄自定义UI的过程
首先,我们需要根据裁判系统协议文档,发送的帧头需要经过CRC8校验,帧尾填整包的CRC16校验。
需要注意的是 客户端绘图功能是很容易丢包的,所以我们添加图形的频率不宜过高

通信最重要的就是协议,所以,我们就需要清楚明白它的协议格式是什么样的:
对应通信协议格式 frame_header(5-byte)+cmd_id(2-byte)+data(n-byte)+frame_tail(2-byte,CRC16,整包校验)
frame_header帧头中的SOF是固定为0xA5的,datalength在后面的计算中需要认真去核对,因为一但算错了,整个协议就会发不出去的。(我也曾经因为这个问题找了很久的BUG)

然后就是cmd_id命令码了,机器人信息交互固定都是0x0301,按着官方给的协议写就行了,
然后关于data这一数据段:我们需要知道它的数据段的段头结构:内容ID,发送者ID,以及接收者ID(总不能发到别人到对面去吧)
设计UI的时候我们需要操作的就是下图数据段中的那部分。假设你要画一个图,我们需要怎么做?


下面框中的部分就是我们要操作的内容
关于图形配置官方已经给得很清楚了,按照官方协议上给的操作就行了。如图:


这一段代码是下面示例图中的字符:Shoot_LV:的示例
我们弄完图形配置之后还需要做的就是打包发送,我是用一个数组将我配置好的信息存起来,然后通过串口发送给电源管理然后再转发给我的客户端。
注意帧尾要填整包CRC16的校验


对于在服务器中没有看见上传数据的字样:像红色3号步兵传给客户端43之类的,那么就得好好检查一下自己的协议了,一般来说,协议没问题的话,在服务器上也会有显示。
对于在服务器看见了上传字样,但是客户端没有显示的话,首先需要看看是不是自己发送的数据是否在不能覆盖的区域,第一次实验的话可以整个start_x=600,start_y=600,然后end的话就给100-200试试(反正也只是试试自己画图的可行性,不需要对位这么仔细) 。


然后测试UI代码的时候需要做的事:
首先要把主控跟电源管理连起来,确保裁判系统能正常运行,然后串口线接学生端User,其他的东西完全不需要,也不会有影响,图传跟自定义UI是没有必然联系的!!然后将代码烧进板子就行了,测试的时候建议不要触发发送,最好就是一直发,将发送函数放在任务或者定时器都行,然后在服务器上去看发送情况,等服务器能看到上传信息了再打开客户端也不迟。


车跟服务器记得要先连上,服务器会有什么什么请求登录,然后什么什么登陆成功的字样的,完成好这步之后再进行操作。
————————————————
版权声明:本文为CSDN博主「Autism_Huang」的原创文章,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dbqwcl/article/details/115518917



20210408142051910.png
20210408141539283.png
20210408142558279.png
20210408142811154.png
微信截图_20210408151551.png
微信图片_20210409165130.png
跳转到指定楼层

[嵌入式] 自定义UI界面

[复制链接]
下士Autism__
 楼主| 2021-4-9 16:53:33 显示全部楼层
最新上传的那幅图 即便是用字符型也跟整型或者浮点型没差

[嵌入式] 自定义UI界面

[复制链接]
上等兵日漫爱好者x
2021-4-8 21:29:40 显示全部楼层
江安吴彦祖 发表于 2021-4-8 19:47
我给官方发邮件,官方也没回我,现在还不确定是官方的问题还是自身原因 ...

感觉就很离谱,同样的代码,旧版操作手界面上正常,到了新版操作手界面上,我的不仅数字无法显示,字符还出现了混乱,(字符长度设置不起作用)。
回复 支持 1 反对 0

使用道具 举报

[嵌入式] 自定义UI界面

[复制链接]
下士Autism__
 楼主| 2021-4-10 21:15:45 显示全部楼层
卧龙z 发表于 2021-4-10 11:59
大佬,我比较感兴趣你的字符是怎么搞得,我现在不会画字符,还有多个图形怎么配置,我现在就会画一个图{:3_ ...

多个图形的话就整一个结构体数组就好了  帧头datalength的长度一定要算对 不然是发不出去的
然后字符 要看你的内容ID有没有写对  然后其实就跟你上传一个图形一样的处理

[嵌入式] 自定义UI界面

[复制链接]
中士吃橘子吗
2021-4-8 19:00:09 显示全部楼层
请问整数型和浮点型画出来了嘛?我们这边好像不太行

[嵌入式] 自定义UI界面

[复制链接]
下士江安吴彦祖
2021-4-8 19:40:23 显示全部楼层
吃橘子吗 发表于 2021-4-8 19:00
请问整数型和浮点型画出来了嘛?我们这边好像不太行

请问可以显示整型数和浮点数吗?

[嵌入式] 自定义UI界面

[复制链接]
下士江安吴彦祖
2021-4-8 19:42:01 显示全部楼层
请问是可以显示整型数和浮点数是吗?我们这边显示不了诶

[嵌入式] 自定义UI界面

[复制链接]
中士吃橘子吗
2021-4-8 19:44:22 显示全部楼层
江安吴彦祖 发表于 2021-4-8 19:42
请问是可以显示整型数和浮点数是吗?我们这边显示不了诶

嗯是,我们这边也是无法显示呢

[嵌入式] 自定义UI界面

[复制链接]
下士江安吴彦祖
2021-4-8 19:47:01 显示全部楼层
吃橘子吗 发表于 2021-4-8 19:44
嗯是,我们这边也是无法显示呢

我给官方发邮件,官方也没回我,现在还不确定是官方的问题还是自身原因

[嵌入式] 自定义UI界面

[复制链接]
中士吃橘子吗
2021-4-8 19:48:29 显示全部楼层
江安吴彦祖 发表于 2021-4-8 19:47
我给官方发邮件,官方也没回我,现在还不确定是官方的问题还是自身原因 ...

好吧

[嵌入式] 自定义UI界面

[复制链接]
上等兵djiuser_qG0pn2Z
2021-4-9 11:00:13 显示全部楼层
干货啊 兄弟 现在我也弄出来了

[嵌入式] 自定义UI界面

[复制链接]
下士江安吴彦祖
2021-4-9 12:11:20 显示全部楼层
djiuser_qG0pn2Z 发表于 2021-4-9 11:00
干货啊 兄弟 现在我也弄出来了

请问可以显示整型数和浮点数吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2021 RoboMasters 版权所有 备案号 粤ICP备12022215号

快速回复 返回顶部 返回列表