在实现JMAVSim与QGroundControl联合仿真的基础上开展代码DIY是进行PX4开发的终极目标,由此也是刚刚步入PX4的大门。
- First Application Tutorial (Hello Sky) 里面已经进行了详细的介绍,本文仅作为我自己的一个学习或者操作记录! *
-
将路径 Firmware/src/examples/px4_simple_app 重新命名(如px4_simple_app2),备份。
-
新建一个路径: Firmware/src/examples/px4_simple_app
-
新建一个C文件,并命名为 px4_simple_app.c
#include <px4_log.h>
__EXPORT int px4_simple_app_main(int argc, char *argv[]);
int px4_simple_app_main(int argc, char *argv[]){
PX4_INFO("Hello Sky!----liaosin");
return OK;
}
- 以下三者必须一致:1)路径名称XXX;2)C文件名称XXX;3)C文件的主函数必须为XXX_main *
- 新建一个 cmake 定义文件,并命名为 CMakeLists.txt
px4_add_module(
MODULE examples__px4_simple_app
MAIN px4_simple_app
STACK_MAIN 2000
SRCS
px4_simple_app.c
DEPENDS
platforms__common
)
-
注册新建的C文件
1)找到飞控开发板对应的cmake文件为:
jMAVSim Simulator: Firmware/cmake/configs/posix_sitl_default.cmake
Pixhawk v1/2: Firmware/cmake/configs/nuttx_px4fmu-v2_default.cmake
2)打开改cmake文件,并加入 * examples/px4_simple_app *
3)编译C文件:
jMAVSim Simulator: make posix_sitl_default jmavsim
Pixhawk v1/2: make px4fmu-v2_default -
利用JMAVSim仿真,打开terminal
>>cd ~
>>cd Firmware
>>make posix_sitl_default jmavsim
>>commander takeoff #四旋翼起飞
>>px4_simple_app
-
terminal 将显示如下:
- 若仿真时已将QGroundControl打开,则在QGroundControl-Analyze中下载录取的无人机传感器输出数据。