1. 程式人生 > >[原始碼解讀]commander 飛航模式,控制模式

[原始碼解讀]commander 飛航模式,控制模式

閱讀工具:source insight
技術交流:[email protected]
原始碼版本:Firmware(原生韌體)
最近在做光流相關位置控制,買了光流,QCG讀取資料,資料有,但是起飛後無法切換到Posctl.被迫讀了一段與光流相關的飛航模式,和控制的程式流,以下是閱讀過程,如有不對歡迎指正,歡迎交流。
不會寫部落格偷懶截圖了,如有需求可以索要word版
陳哥把我的思路整理了一下,配合閱讀效果更佳!(2016.8.27)
http://blog.csdn.net/czyv587/article/details/51777392
這裡寫圖片描述
這裡寫圖片描述
有了這個大致流程就比較清晰了,看上去很簡單,但是我找了好久才把飛航模式切換定位到Commander.cpp裡的,又在裡面看了很久才有那麼一絲頭緒,都是眼淚。既然有的邏輯我們就按順序整理一下。
這裡寫圖片描述


這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

相關推薦

[原始碼解讀]commander 模式控制模式

閱讀工具:source insight 技術交流:[email protected] 原始碼版本:Firmware(原生韌體) 最近在做光流相關位置控制,買了光流,QCG讀取資料,資料有

Netty原始碼解讀(四)Netty與Reactor模式

一:Netty、NIO、多執行緒? 時隔很久終於又更新了!之前一直遲遲未動也是因為積累不夠,後面比較難下手。過年期間@李林鋒hw釋出了一個Netty5.0架構剖析和原始碼解讀 ,看完也是收穫不少。前面的文章我們分析了Netty的結構,這次咱們來分析最錯綜複雜的一部分-Netty中的多執行緒以

Mybatis 整體流程詳解、部分原始碼解讀以及運用到了哪些設計模式

MyBatis主要的類 Configuration        MyBatis所有的配置資訊都維持在Configuratio

1周4次課 單用戶模式救援模式克隆虛擬機linux相互登錄

bbb 切換 roc 重新啟動 img color 重啟 默認端口 pro 如果我們在生產環境中忘記了root用戶的密碼,在Linux下有兩種方法,第一種為單用戶模式,是在系統啟動時選擇一下,它類似與windows的安全模式。方法是首先重啟linux,(重啟命令有reboo

設計模式-行為型模式命令模式(11)

不存在 delet rbo main sel creating delete == commands 命令模式(Command Pattern)是一種數據驅動的設計模式,它屬於行為型模式。請求以命令的形式包裹在對象中,並傳給調用對象。調用對象尋找可以處理該命令的合適的對象,

設計模式外觀模式(6)

__name__ 基類 body 訪問 get self 簡化 self. getattr 外觀模式(Facade Pattern)隱藏系統的復雜性,並向客戶端提供了一個客戶端可以訪問系統的接口。這種類型的設計模式屬於結構型模式,它向現有的系統添加一個接口,來隱藏系統的復雜

關於js的設計模式(簡單工廠模式構造函數模式原型模式混合模式動態模式

nod nodejs 重新 作用域 this 一次 無法 typeof 訪問 <1>工廠模式 簡單來說就是封裝後的代碼,簡單的工廠模式是很好理解的,關於它的作用,就是利用面向對象的方法,把一些對象封裝,使一些占用空間多的,重復的代碼封裝起來。實現方法非常簡單,也

Redis主從復制結構模式哨兵模式

需要 -a connect pro ast roo 8.4 offset edi 設置臨時生效 1.配置從庫 192.168.4.58:6058> info replication // 查看主從配置信息 # Replication role:master conn

CentOS 7 單用戶模式救援模式

切換 執行 系統命令 word set 完成 提示 方法 text 單用戶模式按e鍵進入編輯模式在linuxx16行將ro改為rw,並在末行添加init=/sysroot/bin/sh;Ctrl+X執行。進入單用戶模式後需要切換目錄才能使用系統命令。退出時先使用exit,

大資料之Spark(八)--- Spark閉包處理部署模式和叢集模式SparkOnYarn模式高可用Spark整合Hive訪問hbase類載入等異常解決使用spark下的thriftserv

一、Spark閉包處理 ------------------------------------------------------------ RDD,resilient distributed dataset,彈性(容錯)分散式資料集。 分割槽列表,function,dep Op

php之單例模式工廠模式註冊模式

工廠模式是通過類或者工廠方法來產生物件,而不是在程式碼中直接new; 上面將例項化物件的方法封裝到工廠類中,比如當例項化物件的名稱發生改變時只需要更改工廠類中的方法。如果不封裝到工廠類中就需要一個一個的去new的地方更改new的物件名稱。 工廠模式說白了就是一種程式設計規範,是一

Spring security oauth2-客戶端模式簡化模式密碼模式(Finchley版本)

一、客戶端模式原理解析(來自理解OAuth 2.0) 客戶端模式(Client Credentials Grant)指客戶端以自己的名義,而不是以使用者的名義,向"服務提供商"進行認證。嚴格地說,客戶端模式並不屬於OAuth框架所要解決的問題。在這種模式中,使用者直接向客戶端註冊,客戶端

弄透VMware虛擬機器的網路設定三大模式:橋接模式主機模式、NAT模式

前言:我們在使用的虛擬機器的時候,總會碰到很多網路設定相關的東西。我在深受其害之後,苦心專研之後,決定統一整理下虛擬機器網路設定的三大模式: 1,橋接模式:你的虛擬機器能夠上網能夠訪問你的主機,網路上其他計算機和自己的計算機都能訪問到你的虛擬機器。 2,主機模式:顧

PHP的單例模式 工廠模式註冊模式的例子

<?php /** * Created by PhpStorm. * User: * Date: 2018/12/6 * Time: 14:11 */ class Site { //屬性 public $siteName; //本類的靜態例項

ie除錯瀏覽器模式文字模式

處理ie的瀏覽器相容,如果電腦裝了ie9,想除錯頁面在ie8、ie7下的顯示效果,會用到ie除錯工具裡面的瀏覽器模式、文字模式 選項。 理論上切換瀏覽器模式時會同時自動連帶切換文字模式 ,如果瀏覽器模式、文字模式 所選版本不一致時就有下面的作用區別: 文字模

VMware下網路配置三種模式對比(橋接模式主機模式網路地址轉換)

1 VMware三種網路模式簡介     VMWare提供了三種工作模式,它們是bridged(橋接模式)、NAT(網路地址轉換模式)和host-only(主機模式)。安裝好虛擬機器以後,在網路連線裡面可以看到多了兩塊網絡卡。如下圖。 2 bridged(橋接模式) 2.

單使用者模式救援模式克隆虛擬機器,linux機器的相互連線

單使用者模式 忘記root密碼的時候,要更改root密碼,進入單使用者模式。進入單使用者模式首先要重啟系統 重啟系統命令 init 6 reboot shutdown -r now 關機命令 init 0 poweroff 重啟後

Android 設計模式——觀察者模式單例模式Build模式原型模式命令模式

 1、實現Build步驟 1、建立實體類 2、建立實體內部build類 3、實體內部類返回實體類 4、實體類建立內部類建構函式 /** * 作者:created by meixi * 郵箱:[email protected] * 日期:2018/12/14

單例模式工廠模式代理模式彙總

1.單例模式: 餓漢式 (可用) public class Demo{ private static Demo demo = new Demo(); private Demo(){ } public static Demo getIn

簡單工廠模式工廠模式中最簡單的一種

場景:要實現不同型別的彈窗,警示框、提示框、確認框。這些彈框存在一些相似的地方,也存在一些不同的地方。可以將不同的屬性作為引數傳遞進來。 function creatPop(type,text){ // 建立一個物件,並對物件拓展屬性和方法 var o = new Object();