|
樓主 |
發表於 2015年6月11日 10:46 PM
|
顯示全部樓層
別人改的我不知道他是怎麼處理這部份的...
我的版本是分成空中速率及串口(Serial)速率兩種.
這兩個速率可以在CLI自行設定,兩者可以不同.
例如空中速率設為19200BPS,串口速率設57600BPS來符合Pixhawk或APM.
這樣兩端(APM/Pixhawk與電腦)都必須以57600BPS來連線,如果設115200BPS則兩邊都必須115200.
若電腦發送的速度大於傳輸速度(就是Pixhawk內的SRx參數設太大),程式內有開256Byte的緩衝,如果緩衝用盡仍然無法消化則將封包丟棄.
大致是這樣,而mavlink是在注入的時候我會去檢查,儘可能將同一個mavlink封包組合成一個封包發射出去,而接收也是類似這樣,當收到完整的mavlink封包才丟給Pixhawk,若封包是屬mavlink而內容不是,則丟棄整個封包.
|
|