本文针对mavlink和topic有一定熟悉的读者。
Pixhawk自有固件,mavlink程序主要是针对pixhawk与地面站通信的。所以要实现双机通信需要修改一些代码。这里主要是利用example/px4_mavlink_debug这个例子。
Pix1:用于接收pix2发送过来的信息,并将信息转发给地面站。
Pix2:用于向pix1发送信息。
Pix1:
(1)、将config_px4fmu-v2_default.mk中
MODULES +=examples/px4_mavlink_debug中注释去掉。
(2)、src/modules/mavlink/mavlink_messages.cpp 中添加
#include <uORB/topics/debug_key_value.h>
(3)、src/modules/mavlink/mavlink_receiver.h 中添加
#include<uORB/topics/debug_key_value.h>
voidhandle_message_debug_mavlink_value(mavlink_message_t *msg);