本文说明如何创建和运行第一个板载应用程序。 它涵盖了PX4上应用程序开发所需的所有基本概念和API。
开发环境
在开发第一个PX4应用程序之前,需要构建如下开发环境:
- PX4 SITL模拟器或兼容PX4的飞行控制器。
- PX4开发工具链用于所需目标。
- 从Github下载PX4源代码
简单应用
代码编写
本节创建一个最小的应用,仅用于打印Hello Sky!。整个应用由一个简单C文件和一个cmake定义文件构成。具体步骤如下:
- 创建目录Firmware/src/examples/px4_simple_app
- 在上述目录中创建C文件px4_simple_app.c
- 在上述目录中创建cmake定义文件CMakeLists.txt
px4_simple_app.c代码内容如下:
1 | /** |
CMakeLists.txt文件内容如下:
1 | px4_add_module( |
px4_add_module()方法从模块描述构建静态库。 MAIN块列出了模块的名称 。这会将该模块与NuttX一起注册,以便可以从PX4 shell或SITL控制台调用它。
编译链接
针对不同的目标平台,使用不同的make命令构建:
- jMAVSim Simulator: make posix_sitl_default jmavsim
- Pixhawk v1/2: make px4fmu-v2_default
- Pixhawk v3: make px4fmu-v4_default
测试应用(硬件)
上传固件到开发板
在开发板上测试,使用如下命令上传PX4固件:
- Pixhawk v1/2: make px4fmu-v2_default upload
- Pixhawk v3: make px4fmu-v4_default upload
连接控制台
现在通过串口或USB连接到系统控制台。 点击ENTER将弹出shell提示符:
1 | nsh> |
测试应用(SITL)
如果您正在使用SITL,PX4控制台将自动启动。 与nsh控制台一样,您可以键入help以查看内置应用程序列表。
输入px4_simple_app以运行最小应用程序。
1 | pxh> px4_simple_app |
参考链接
- PX4编译开发环境配置,by jackhuang.
- PX4开发基本概念解读,by jackhuang.
- First Application Tutorial (Hello Sky),by dronecode.