Byte Index
字節索引
|
Content
內容
|
Value
值
|
Explanation
說明
|
0
|
包起始標誌
|
v1.0: 0xFE (v0.9: 0x55)
|
指示新消息幀的開始。在v1.0版本中以「FE」做爲起始標誌。這個標誌位在mavlink消息幀接收端進行消息解碼時有用處。
|
1
|
有效載荷長度
|
0 - 255
|
表示如下的有效載荷的長度。在mavlink消息幀接收端能夠用它和實際收到的有效載荷的長度比較,以驗證有效載荷的長度是否正確。
|
2
|
包序列號
|
0 - 255
|
每一個組件計數了他的發送序列。容許檢測包丟失。每次發完一個消息,這個字節的內容會加1,加到255後會從0從新開始。這個序號用於mavlink消息幀接收端計算消息丟失比例用的,至關因而信號強度。
|
3
|
系統ID
|
1 - 255
|
發送包的ID。容許在同一網絡上區分不一樣的微型飛行器。用於mavlink消息幀接收端識別是哪一個設備發來的消息。(PIXHAWK默認1)
|
4
|
組件ID
|
0 - 255
|
發送包組件的ID。容許區分同一系統的不一樣組分,例如在IMU和自動駕駛儀。用於mavlink消息幀接收端識別是設備的哪一個單元發來的消息(PIXHAWK默認50)
|
5
|
消息ID
|
0 - 255
|
消息的ID - 標識定義了有效載荷的「意義」應該如何正確解碼。mavlink消息幀接收端要根據這個編號來肯定有效載荷裏到底放了什麼消息包並根據編號選擇對應的方式來處理有效載荷裏的信息包。
|
6 to
(n+6)
|
數據
(有效載荷)
|
(0-255)bytes
|
消息數據,取決於消息的ID。
|
(n+7) to
(n+8)
|
校驗和(低字節,高字節)
|
最後兩個字節是16位校驗位,ckb是高八位,cka是低八位校驗碼由crc16算法獲得,算法將整個消息(從起始位開始到有效載荷結束,還要額外加上個MAVLINK_CRC_EXTRA字節)進行crc16計算,得出一個16位的校驗碼。以前提到的每種有效載荷裏信息包(由消息包編號來代表是哪一種消息 包)會對應一個MAVLINK_CRC_EXTRA,這個 MAVLINK_CRC_EXTRA 是由生成mavlink代碼的xml文件生成的,加入這個額外的東西是爲了當飛行器和地面站使用不一樣版本的mavlink協議時,雙方計算獲得的校驗碼會 不一樣,這樣不一樣版本間的mavlink協議就不會在一塊兒正常工做,避免了因爲不一樣版本間通信時帶來的重大潛在問題。
|