從官網下載mavlink(git clone https://github.com/mavlink/mavlink.git)
然后進入mavlink 目錄執行 git submodule update --init --recursive 下載全部子模塊
在本目錄下執行python -m mavgenerate 提示:
$ python -m mavgenerate Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/home/ev/work/px4/mavlink/mavgenerate.py", line 42, in <module> from pymavlink.generator import mavgen File "pymavlink/generator/mavgen.py", line 12, in <module> from future import standard_library ImportError: No module named future ev@Ev-Mayca:~/work/px4/mavlink$ python -m mavgenerate Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/home/ev/work/px4/mavlink/mavgenerate.py", line 42, in <module> from pymavlink.generator import mavgen File "pymavlink/generator/mavgen.py", line 12, in <module> from future import standard_library ImportError: No module named future
提示沒有future模塊,解決方案如下
1、安裝python3
sudo apt-get install python3
2、安裝
sudo apt-get install python3-tk
3、安裝pip3
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
4、執行
sudo pip3 install future
5、執行
python3 -m mavgenerate
6、選擇xml文件、選擇輸出文件夾、選擇語言,點擊確定
xml選擇mavlink/message_definitions/v1.0/common.xml
另外個輸出文件夾隨便選
語言根據需要選擇
7、測試
gcc -I ../../new-mavlink/common/ -o mavlink_udp mavlink_udp.c
編譯無錯誤
我是將輸出文件放在mavlink文件夾下的new-mavlink文件夾中