PX4中sbus在主控中配置

2021-09-24 11:11:28 字數 1401 閱讀 9622

px4韌體fmu.c檔案中存在sbus的**,只是沒開啟,這裡僅僅只是開啟sbus在px4的主控中的配置,不涉及sbus原理的分析。

也適用於在主控中如何接收sbus遙控器資料。

硬體:基於px4的v5的硬體的修改,移除掉io從控晶元

軟體:px4中v1.8.2版本

//路徑: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)

根據自己硬體判斷是否需要修改

//路徑: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中檔案,是沒有意義的。

在下面檔案中新增下列巨集定義,因為是串列埠6,所以是 「/dev/ttys4」

//firmware/src/drivers/boards/px4fmu-v5/board_config.h:631

#define rc_serial_port

"/dev/ttys4"

//firmware/src/drivers/px4fmu/fmu.cpp:1646

// 硬體中我們已經反向了,所以驅動程式這裡就不需要反向了,還有注意檢視波特率和2bit停止位

// rc_io_invert(true);

rc_io_invert

(false

);

●注意 sbus和遙控器需要配對好,確保硬體沒有問題。

●除錯的時候可以示波器看串列埠6的接收引腳有沒有資料,如果有再在px4中看串列埠6的接收資料

PX4中ESC的驅動框架

cdev繼承的是device,然後i2c又是繼承的cdev,然後esc又是繼承的i2c,device cdev i2c esc。在esc的init函式裡面 首先會呼叫i2c的init函式。然後配置rst管腳,然後配置電調的i2c位址,包括兩個方面,乙個是設定飛控程式裡面的匯流排位址,另乙個是moto...

TF系列在PX4上的應用

px4 有著自己獨特的優勢,受到廣大愛好者的喜愛。tf 系列是北醒推出的價效比極高的雷射雷達,受到廣大愛好者的追捧。本文介紹tf 系列和px4 的連線方法。本文件基於qgroundcontrol v4.0.6 和韌體px4 v1.11.0 編寫,如因地面站或韌體功能不全,請公升級。本文以pixhaw...

4 在XML中配置物件的屬性

前面的類a是極度簡化的demo,除了構造方法,沒有任何成員。本篇就來 一下,類中有成員的時候,如何在xml中進行配置。1.簡單型別成員 在類a中加入乙個string型別的成員 public class a set public a 在xml中進行如下配置 可以看到,object節點中增加了乙個子節點...