PX4中sbus在主控中配置

----------------说明----------------

PX4固件fmu.c文件中存在sbus的代码,只是没开启,这里仅仅只是开启sbus在PX4的主控中的配置,不涉及sbus原理的分析。
也适用于在主控中如何接收sbus遥控器数据。

----------------环境----------------

硬件:基于PX4的v5的硬件的修改,移除掉IO从控芯片
软件:PX4中v1.8.2版本

----------------修改流程----------------

0.cmake编译文件中去掉IO控制器

//路径:Firmware/cmake/configs/nuttx_px4fmu-v5_default.cmake:6
#px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) 修改为
px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)

1.最底层板载的修改

根据自己硬件判断是否需要修改

//路径:Firmware/platforms/nuttx/nuttx-configs/px4fmu-v5/include/board.h:345
//#define GPIO_USART6_RX   GPIO_USART6_RX_2   /* PG9  */
//#define GPIO_USART6_TX   GPIO_USART6_TX_2   /* PG14 */   
/*改为*/
#define GPIO_USART6_RX   GPIO_USART6_RX_1   /* PC7  */
#define GPIO_USART6_TX   GPIO_USART6_TX_1   /* PC6 */

注意在QT中,修改板载文件不要修改build中的文件,最好“make clean”后修改,因为查看定义一般会跳转到build中的文件中,修改build中文件,是没有意义的。

2.中间层驱动修改

在下面文件中添加下列宏定义,因为是串口6,所以是 “/dev/ttyS4”

//Firmware/src/drivers/boards/px4fmu-v5/board_config.h:631
#define RC_SERIAL_PORT                     "/dev/ttyS4"

3.应用层驱动的改变

//Firmware/src/drivers/px4fmu/fmu.cpp:1646
// 硬件中我们已经反向了,所以驱动程序这里就不需要反向了,还有注意查看波特率和2bit停止位
// rc_io_invert(true);
   rc_io_invert(false);

4.其他

●注意 sbus和遥控器需要配对好,确保硬件没有问题。
●调试的时候可以示波器看串口6的接收引脚有没有数据,如果有再在PX4中看串口6的接收数据

发布了14 篇原创文章 · 获赞 9 · 访问量 1583

猜你喜欢

转载自blog.csdn.net/qq_16504163/article/details/91965866