PX4添加新的应用

假装没事ソ 提交于 2020-11-08 09:16:21

研究了四天怎么添加新的应用程序,前几天都尝试着添加.cpp文件的应用程序,跟着网上的方法都失败了,结果今天试着添加一个.c文件的应用程序居然成功了。
先把.c的添加方法写一写,以后学会了怎么添加.cpp了再来修改吧。
这是官方手册给的添加方法,也是我参考的:

https://dev.px4.io/master/zh/apps/hello_sky.html

一、新建文件

在src下想要的文件夹(如/src/modules 或 /src/examples)中新建一个文件夹,我这里选择在/src/modules中新建一个名为Data_link_read的文件夹。
然后在Data_link_read文件夹中新建一个.c文件和一个CMakeLists.txt文件:
在这里插入图片描述
这里建议文件夹名和.c文件名相同


二、写.c和CMakeLists.txt文件

.c如下写:

__EXPORT int Data_link_read_main(int argc, char *argv[]);

int Data_link_read_main(int argc, char *argv[]) { return OK; }

为了避免添加头文件的困扰,我先把官方手册中的 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-Autopilot/cmake文件夹下的若干个px4_XXX.cmake文件中都有一些关于格式的解释,可以参考一下

三、填写.cmake文件

为了保证我们添加的这个应用程序可以被运行,你首先需要确保编译器会将它作为 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添加应用程序!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!