在px4源碼中自定義消息,併發送主要有以下三個大步驟:
一、自定義mavlink消息
1.在myMessage.XML文件中自定義消息(注意消息ID不要與原有的重複)。具體消息ID可參考這裏。
2. 選擇上一步寫好的xml文件,使用mavlink_generator生成mavlink_msg_my_message.h文件(XML欄是XML文件存放的路徑,out是生成的mavlink_msg_my_message.h文件的路徑)。mavlink_generator的安裝及使用請參照這裏。
二、將消息包含進工程中。
1.在generator中的out自定義的路徑下找到mavlink_msg_my_message.h文件,並將其放到mavklink/include/mavlink/v2.0/common文件夾中
2.在px4源碼的mavklink/include/mavlink/v2.0/common/common.h文件中加入mavlink_msg_my_message.h文件。
三、配置和使用該消息
1.在src/modules/mavlink/mavlink_messages.cpp文件中添加相應的類(繼承MavlinkStream類)
2.在static const StreamListItem stream_list[]中將該類實例化。
3.在mavlink_main.cpp中配置發送頻率即可。
完成以上步驟保存修改,即可將代碼燒錄進px4飛控板,並將飛控板連接到電腦上,通過串口查看是否成功發送消息。
注:mavlink協議發送了很多消息,可以在static const StreamListItem list[]中將不需要觀察的消息註釋掉,只看自己剛纔加入的。