原创 Windows 10 下基於WSL的開源飛控開發環境配置(Ardupilot/PX4)

目錄0 環境1 環境概述2 配置 WSL2.1 安裝 WSL22.2 安裝工具鏈3 配置VS Code 0 環境 Windows 10 build version >= 18917 1 啓動 cmd 後輸出的第一行文字便是 Wi

原创 MAVLink 協議解析之XML定義篇

文章目錄1 MAVLink XML 文件的基本結構2 message3 enum 1 MAVLink XML 文件的基本結構 下面的代碼塊是 mavlink 消息定義的 xml 數據文檔 代碼塊 1 <?xml version=

原创 Windows 10 下開源飛控開發環境配置(Ardupilot/PX4)

目錄0 環境1 配置 WSL1.1 安裝 WSL21.2 安裝工具鏈2 配置VS Code 0 環境 Windows 10 build version >= 18917 1 啓動 cmd 後輸出的第一行文字便是 Windows

原创 pymavlink 源碼剖析(二)之生成代碼

文章目錄1 引言2 C 代碼生成3 generate_one 函數分析 相關: pymavlink 源碼剖析(一)之XML文件的數據解析 MAVLink 協議解析之原理篇; MAVLink 協議解析之XML定義篇; 1 引言

原创 pymavlink 源碼剖析(一)之XML文件的數據解析

文章目錄1 引言2 pymavlink 的代碼自動生成方法3 XML 文件的數據解析3.1 XML 文件預處理3.2 解析 XML 的數據3.2.1 依據協議版本初始化一些版本特徵變量3.2.2 解析 XML 文件3.2.3 對解

原创 PX4 CMakeLists.txt 文件剖析

PX4 CMakeLists.txt 文件剖析 前面對於 PX4 的 Makefile 已經做了比較詳細的分析, 見這裏, 這裏進一步對 PX4 的 CMakeLists.txt 文件結構進行進一步的分析. 1 CMake 簡述

原创 PX4編譯文件 Makefile 剖析

PX4編譯文件 Makefile 剖析 當我們執行 cd Firmware進入PX4源碼目錄, 然後make 的時候,我們會看到一串輸出基本如下(第一次編譯會有更多的輸出) [ 2%] Built target df_drive

原创 PX4 編譯分析之Airframe文檔生成

PX4 編譯分析之Airframe文檔生成 本文假設已經閱讀了 PX4 的 1 Makefile分析 2 CMakeLists.txt分析 這裏要分析的是 make airframe_metadata 的指令, 在 Makefil

原创 Ubuntu 安裝 cuda 時卡在登錄界面(login loop)的解決方案之一

當安裝 cuda 時,需要我們需要安裝NVIDIA driver, driver 用來支撐cuda 庫的調用,在滿足官方文檔(見 Table1)對於cuda 版本對於driver版本的要求情況下,裝了之後會出現登陸不進去的情況。drive

原创 數據結構----依據出棧順序判斷所需的最少棧空間

1 問題描述 問題: 若元素 a,b,c,d,e,f,g 順序進棧,且出棧順序是 b,d,c,f,e,a,g 則棧的容量至少是_____ 答案:3 2 解法描述與分析 2.1 解法描述 記 1,2,3,4,5,6… 分別對應 a,b,

原创 數據結構----出棧順序有效性的判斷

1 問題描述 問題1:若元素 a,b,c,d,e,f 順序進棧, 則不准許的出棧順序是 A. d,c,e,b,f,a    B. c,b,d,a,e,f    C. b,c,a,e,f,d    D. a,f,d,e,c,b 答案

原创 Linux下Wireshark的Lua: Error during loading 和 couldn't run /usr/bin/dumpcap in child process 的解決方案

1 出錯分析 Wireshark 基於 dumpcap, dumpcap 是一個功能強大的網絡流分析工具,但是它是命令行的工具,Wireshark 在其基礎上添加了一層好用的 GUI 和腳本來簡化操作,但是網絡流分析是不安全的,如果人

原创 歐拉角奇異性產生的原因

1 歐拉角奇異性的原因. 1.1 奇異性的定義 奇異性,英文Singularity, wiki中的解釋爲   In mathematics, a singularity is in general a point at which a

原创 Ubuntu 下 VirtualBox 調整vmdk虛擬硬盤分區

參考     Stack Overflow 鏈接流程    1.把vmdk格式轉換爲vdi格式    2. 調整大小    3. 把vdi格式轉換爲原來的vmdk格式(如果不想轉換虛擬磁盤格式,此步驟可以省略)VBoxManage clo

原创 ubuntu 上NVIDIA驅動和CUDA9.0 的坑之一二

1 參考鏈接[1] NVIDIA 官方CUDA安裝文檔: http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html[2] NVIDIA  對XFree86 下