PX4新增新的應用

2021-10-10 07:38:05 字數 1488 閱讀 8379

研究了四天怎麼新增新的應用程式,前幾天都嘗試著新增.cpp檔案的應用程式,跟著網上的方法都失敗了,結果今天試著新增乙個.c檔案的應用程式居然成功了。

先把.c的新增方法寫一寫,以後學會了怎麼新增.cpp了再來修改吧。

這是官方手冊給的新增方法,也是我參考的:

在src下想要的資料夾(如/src/modules 或 /src/examples)中新建乙個資料夾,我這裡選擇在/src/modules中新建乙個名為data_link_read的資料夾。

然後在data_link_read資料夾中新建乙個.c檔案和乙個cmakelists.txt檔案:

這裡建議資料夾名和.c檔名相同

.c如下寫:

__export int data_link_read_main(int argc, char *ar**);

int data_link_read_main(int argc, char *ar**)

為了避免新增標頭檔案的困擾,我先把官方手冊中的px4_info("hello sky!");這條語句刪了,畢竟我們的目的是新建乙個應用程式而以,先追求編譯通過,再來考慮讓這個應用程式實現一些功能吧!

cmakelists.txt如下寫:

px4_add_module(

module modules__data_link_read

main data_link_read

stack_main 2000

srcs

data_link_read.c

depends

)

*注意:cmakelists.txt第二行module後面跟著的「modules」是因為我選擇了src下的modules資料夾,如果你選擇examples,那麼就應該寫:

module examples__data_link_read
為了保證我們新增的這個應用程式可以被執行,你首先需要確保編譯器會將它作為 px4 韌體的一部分進行編譯。

因此要把我們的應用程式新增到/px4-autopilot/boards/px4/fmu-v5資料夾中的default.cmake檔案中:

這裡我們在modules下新增我們的應用程式。(如果你的應用程式寫在了在examples資料夾中,那麼需要就把應用程式新增到examples下)。

*注意:這裡我選擇的是/px4/fmu-v5資料夾下的default.cmake檔案,這是因為我在終端(terminal)中編譯時用到的語句是make px4_fmu-v5_default。因此,如果你編譯時用到的不是px4_fmu-v5,請選擇對應資料夾下的default.cmake新增應用程式!

學習PX4前言

剛開始接觸px4原始碼很懵,覺得難,主要原因是以前看微控制器 邏輯很好理解,所以就進入了乙個誤區,把px4也像微控制器一樣去理解,如果你抱著搞懂px4,跟搞懂微控制器花一樣的時間成本去學習的心態,那確實很難 一條明明要走一天的路,你只花乙個小時去走 靜下心下來,會發現px4這座山其實並不陡,只是單純...

TF系列在PX4上的應用

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

PX4應用例項2 建立uORB訊息

uint64 data1 uint64 data2 uint64 data3 uint64 data4 topics mytest offboard mytest onboard mytest topics第乙個引數要與成員名稱相同 編譯後,會在firmware build px4fmu v2 de...