一、添加msg
1.创建.msg文件
~/PIX4/Firmware/msg$ touch my_uorb_test.msg
2.Cmakelists.txt修改
将自定义的.msg添加到同目录下的Cmakelists.txt文件列表中
3.编译错误
~/PIX4/Firmware$ sudo make px4_fmu-v2
[ERROR] uORB topic files generator:
generate_output_from_file: No 'timestamp' field found in my_uorb_test msg definition!
这个坑搞了一上午,发现需要.msg需要定义时间戳变量
uint64 timestamp # time since system start (microseconds)
4.编译成功
头文件生成成功
二、发布及订阅主题
1.添加代码
将UORB发布代码和订阅代码添加到 Firmware/src/modules/ 内
2.修改cmake
在对应版本的飞控目录下,修改cmake文件
~/PIX4/Firmware/boards/px4/fmu-v2$
3.再次编译
编译成功上传代码测试
运行QGC查看结果
./QGroundControl.AppImage
mavlink -> "hekp"指令查看,订阅发布已经添加进去了
输出结果和代码吻合测试成功
代码有一丢丢多久打包放下面参考