首先看一下飞控代码的组成架构:
飞控代码以nuttx实时操作系统为核心, 驱动层通过采集加速度、陀螺仪、磁力计、气压计传感器的值来控制无人机的飞行姿态,通过uorb来实现各个进程之间的通信,控制无人机的飞行可以通过遥控器或是mavlink消息来完成,下面我就讲一下怎么创建一个新的应用程序。
每学习一门新的语言都是以"hello world!"开始,学习一门新的系统也不例外:
1. 在Firmware/src/modules目录下建立一个px4_simple_app文件夹,在这个文件夹中建立一个module.mk文件,将下列信息写入此文件:
MODULE_COMMAND =px4_simple_app
SRCS = px4_simple_app.c
2. 在上述文件夹中在新建一个px4_simple_app.c的文件:
#include <nuttx/config.h>
#include <stdio.h>
#include <errno.h>
__EXPORT int px4_simple_app_main(int argc,char *argv[]);
Int px4_simple_app_main(int argc,char *argc[])
{
printf(“Hello Sky\n”);
return 0;
}
3. 注册此app:
在Firmware/makefiles/config_px4fmu-v2_default.mk中加入:
MODULES += modules/px4_simple_app
然后编译烧写,之后再终端中 输入"?",在列表中就会看到px4_simple_app,然后输入“px4_simple_app start”,就会看到 “Hello Sky”的字样,这样在nuttx上的第一个应用程序就成功跑起来啦。