px4程序模块化非常的清晰,但程序也是非常的庞大,不同于一般程序员的编程惯例,所谓程序入参出参直白明显,px4的程序大多采用全局变量,而且使用UORB的通讯,使程序调用非常方便,但是使程序的可读性降低了很多,没有花一定的时间去研读很难看懂程序,但是跨过这个门槛后,你就会佩服这个程序的庞大的兼容性
目录
那么通常我们在px4 基础上做二次开发,需要清晰明了的将过程中的数据打印出来,怎么才能便于调试
一、接口定义
用了很多的pix系列开发板,新一代的pix4基本都不开源硬件了,调试接口搞了很久也没有调试通打印接口,还是用熟悉的pix2.4.8来调程序
查阅pix的官方说明文档,其中这几个接口,telem1是数传接口,默认发送MAVLINK去连接地面站,TELEM2口可以做拓展开发口,接个树莓派什么的。
二、主片打印
最关键的调试接口SERAL4/5,需要接三根线线TX5,RX5和GND,
这样就可以用串口调试工具查看到打印消息
当然这里只输出的主片上的打印,从片上的打印是需要拆掉外壳,开发板保留了输出调试接口
三、从片打印
拆开外壳能够看到板子上有两块芯片,查看电路后再翻阅手册后发现两个板子是分工的,主片做最上层的运算,而混控和pwm输出信号都是从片进行的
所以如果在调试过程中需要监控混控那块的变量,各个通道的输出变化情况是从从片引出引脚来接串口的
但这个引脚没有引出来,pixhawk2.4.8的引脚板子就在螺丝孔旁边,预留的三个接口,自己焊三条线接上就能从串口打印了
监控其他模块的打印串口需要从SERIAL4/5那边引出