pub trait MavConnection<M>where
M: Message,{
// Required methods
fn recv(&self) -> Result<(MavHeader, M), MessageReadError>;
fn send(
&self,
header: &MavHeader,
data: &M,
) -> Result<usize, MessageWriteError>;
fn set_protocol_version(&mut self, version: MavlinkVersion);
fn protocol_version(&self) -> MavlinkVersion;
fn set_allow_recv_any_version(&mut self, allow: bool);
fn allow_recv_any_version(&self) -> bool;
fn setup_signing(&mut self, signing_data: Option<SigningConfig>);
// Provided methods
fn send_frame(
&self,
frame: &MavFrame<M>,
) -> Result<usize, MessageWriteError> { ... }
fn recv_frame(&self) -> Result<MavFrame<M>, MessageReadError> { ... }
fn send_default(&self, data: &M) -> Result<usize, MessageWriteError> { ... }
}
Expand description
A MAVLink connection
Required Methods§
Sourcefn recv(&self) -> Result<(MavHeader, M), MessageReadError>
fn recv(&self) -> Result<(MavHeader, M), MessageReadError>
Receive a MAVLink message.
Blocks until a valid frame is received, ignoring invalid messages.
Sourcefn send(&self, header: &MavHeader, data: &M) -> Result<usize, MessageWriteError>
fn send(&self, header: &MavHeader, data: &M) -> Result<usize, MessageWriteError>
Send a MAVLink message
Sourcefn set_protocol_version(&mut self, version: MavlinkVersion)
fn set_protocol_version(&mut self, version: MavlinkVersion)
Sets the MAVLink version to use for receiving (when allow_recv_any_version()
is false
) and sending messages.
Sourcefn protocol_version(&self) -> MavlinkVersion
fn protocol_version(&self) -> MavlinkVersion
Gets the currently used MAVLink version
Sourcefn set_allow_recv_any_version(&mut self, allow: bool)
fn set_allow_recv_any_version(&mut self, allow: bool)
Set wether MAVLink messages of either version may be received.
If set to false only messages of the version configured with set_protocol_version()
are received.
Sourcefn allow_recv_any_version(&self) -> bool
fn allow_recv_any_version(&self) -> bool
Wether messages of any MAVLink version may be received
Sourcefn setup_signing(&mut self, signing_data: Option<SigningConfig>)
fn setup_signing(&mut self, signing_data: Option<SigningConfig>)
Setup secret key used for message signing, or disable message signing
Provided Methods§
Sourcefn send_frame(&self, frame: &MavFrame<M>) -> Result<usize, MessageWriteError>
fn send_frame(&self, frame: &MavFrame<M>) -> Result<usize, MessageWriteError>
Write whole frame
Sourcefn recv_frame(&self) -> Result<MavFrame<M>, MessageReadError>
fn recv_frame(&self) -> Result<MavFrame<M>, MessageReadError>
Read whole frame
Sourcefn send_default(&self, data: &M) -> Result<usize, MessageWriteError>
fn send_default(&self, data: &M) -> Result<usize, MessageWriteError>
Send a message with default header