Skip to content

MockLink: Use separate MAVLink channel for encoding outgoing messages #14166

@DonLakeFlyer

Description

@DonLakeFlyer

MockLink currently shares the LinkInterface mavlinkChannel() with the QGC side for encoding outgoing messages. It only uses its own _mavlinkAuxChannel for parsing incoming bytes. This means:

  1. MockLink piggy-backs on QGC's signing context rather than maintaining its own independent signing state
  2. MockLink can't independently decide whether to sign outgoing messages
  3. MockLink can't use a different signing key than QGC
  4. It doesn't accurately simulate a real vehicle which has fully independent MAVLink channels

Proposed change: Switch all mavlink_msg_*_pack_chan(..., mavlinkChannel(), ...) calls in MockLink (and its sub-handlers: MockLinkMissionItemHandler, MockLinkCamera, MockLinkGimbal, MockLinkFTP) to encode on _mavlinkAuxChannel instead. This would allow MockLink to maintain its own signing state independently, enabling proper end-to-end signing testing.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions