参考资料链接:
(1) https://www.cnblogs.com/spyplus/p/7389464.html
(2)https://blog.csdn.net/qq_39610398/article/details/106197176
开发硬软件配置:
(1)开发工具:VM+Ubuntu+QT
(2)开发PX4版本:v1.10.2
下载:
git clone -b v1.10.2 https://github.com/PX4/Firmware.git
git submodule update --init --recurive
实现功能:
编写一个输出模块–>编译成V3版本并下载到硬件–>利用MAVLink shell运行输出模块
具体实现过程:
(1)编写文件
1)在路径Firmware/src/example文件夹中添加一个文件夹px4_01并进入:
在Firmware/src/example文件夹中打开终端
mkdir px4_01
cd px4_01
2)在文件夹中添加两个文件CMakeLists.txt和px4_01.c:
建立CMakeLists.txt文件
gedit CMakeLists.txt
输入以下内容:
px4_add_module(
MODULE examples__px4_01
MAIN px4_01
STACK_MAIN 2000
SRCS
px4_01.c
DEPENDS
)
建立px4_01.c文件
gedit px4_01.c
3)利用QT打开px4工程:
step1:在与Firmware同文件夹的路径建立一个文件夹并命名为Firmware_build
step2:在Firmware_build 文件夹中打开终端并输入命令:
cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4fmu-v3_default
如果要编译成v5,则修改为
cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4fmu-v5_default
step2:打开qt并选择打开工程,选择Firmware中的CMakeLists.txt文件
step3::打开qt的工程,配置如下
step4:run的配置如下
4)在qt中打开建立的px4_01.c
输入以下内容:
#include <px4_platform_common/log.h>
__EXPORT int px4_01_main(int argc,char *argv[]);
int px4_01_main(int argc, char *argv[])
{
PX4_INFO("Hello Sky!");
return OK;
}
(3)编写编译模块配置文件
(在这里我编译的是v3版本,所做v3版本的配置文件在Firmware/boards/px4/fmu-v3中的default.cmake文件)
在default.cmake 文件中添加:
(4)编译px4
在Firmware文件中打开终端:
make px4_fmu-v3
(5)连接好px4硬件,(如果是用虚拟机需要选择连接到虚拟机)下载:
make px4_fmu-v3 upload
(6)启动MAVLink shell,在Firmware文件中打开终端
./Tools/mavlink_shell.py /dev/ttyACM0
其中ttyACM0是px4硬件连接的接口,具体以电脑连接为主
利用help命令可查看可操作内容:
输入px4_01
---------------------end---------------------------