#[repr(u8)]pub enum SecureCommandOp {
SecureCommandGetSessionKey = 0,
SecureCommandGetRemoteidSessionKey = 1,
SecureCommandRemovePublicKeys = 2,
SecureCommandGetPublicKeys = 3,
SecureCommandSetPublicKeys = 4,
SecureCommandGetRemoteidConfig = 5,
SecureCommandSetRemoteidConfig = 6,
SecureCommandFlashBootloader = 7,
}Expand description
MAVLink enum SECURE_COMMAND_OP for ardupilotmega dialect.
Variants§
SecureCommandGetSessionKey = 0
MAVLink enum entry SECURE_COMMAND_GET_SESSION_KEY.
Get an 8 byte session key which is used for remote secure updates which operate on flight controller data such as bootloader public keys. Return data will be 8 bytes on success. The session key remains valid until either the flight controller reboots or another SECURE_COMMAND_GET_SESSION_KEY is run.
SecureCommandGetRemoteidSessionKey = 1
MAVLink enum entry SECURE_COMMAND_GET_REMOTEID_SESSION_KEY.
Get an 8 byte session key which is used for remote secure updates which operate on RemoteID module data. Return data will be 8 bytes on success. The session key remains valid until either the remote ID module reboots or another SECURE_COMMAND_GET_REMOTEID_SESSION_KEY is run.
SecureCommandRemovePublicKeys = 2
MAVLink enum entry SECURE_COMMAND_REMOVE_PUBLIC_KEYS.
Remove range of public keys from the bootloader. Command data consists of two bytes, first byte if index of first public key to remove. Second byte is the number of keys to remove. If all keys are removed then secure boot is disabled and insecure firmware can be loaded.
SecureCommandGetPublicKeys = 3
MAVLink enum entry SECURE_COMMAND_GET_PUBLIC_KEYS.
Get current public keys from the bootloader. Command data consists of two bytes, first byte is index of first public key to fetch, 2nd byte is number of keys to fetch. Total data needs to fit in data portion of reply (max 6 keys for 32 byte keys). Reply data has the index of the first key in the first byte, followed by the keys. Returned keys may be less than the number of keys requested if there are less keys installed than requested.
SecureCommandSetPublicKeys = 4
MAVLink enum entry SECURE_COMMAND_SET_PUBLIC_KEYS.
Set current public keys in the bootloader. Data consists of a one byte public key index followed by the public keys. With 32 byte keys this allows for up to 6 keys to be set in one request. Keys outside of the range that is being set will remain unchanged.
SecureCommandGetRemoteidConfig = 5
MAVLink enum entry SECURE_COMMAND_GET_REMOTEID_CONFIG.
Get config data for remote ID module. This command should be sent to the component ID of the flight controller which will forward it to the RemoteID module either over mavlink or DroneCAN. Data format is specific to the RemoteID implementation, see RemoteID firmware documentation for details.
SecureCommandSetRemoteidConfig = 6
MAVLink enum entry SECURE_COMMAND_SET_REMOTEID_CONFIG.
Set config data for remote ID module. This command should be sent to the component ID of the flight controller which will forward it to the RemoteID module either over mavlink or DroneCAN. Data format is specific to the RemoteID implementation, see RemoteID firmware documentation for details.
SecureCommandFlashBootloader = 7
MAVLink enum entry SECURE_COMMAND_FLASH_BOOTLOADER.
Flash bootloader from local storage. Data is the filename to use for the bootloader. This is intended to be used with MAVFtp to upload a new bootloader to a microSD before flashing.
Implementations§
Source§impl SecureCommandOp
impl SecureCommandOp
Sourcepub fn entries() -> impl Iterator<Item = SecureCommandOp>
pub fn entries() -> impl Iterator<Item = SecureCommandOp>
Iterator over all entries within this enum.
Requires metadata feature flag to be enabled.
Trait Implementations§
Source§impl Clone for SecureCommandOp
impl Clone for SecureCommandOp
Source§fn clone(&self) -> SecureCommandOp
fn clone(&self) -> SecureCommandOp
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecureCommandOp
impl Debug for SecureCommandOp
Source§impl Default for SecureCommandOp
impl Default for SecureCommandOp
Source§fn default() -> SecureCommandOp
fn default() -> SecureCommandOp
Source§impl<'de> Deserialize<'de> for SecureCommandOp
impl<'de> Deserialize<'de> for SecureCommandOp
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SecureCommandOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SecureCommandOp, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl NamedType for SecureCommandOp
impl NamedType for SecureCommandOp
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl PartialEq for SecureCommandOp
impl PartialEq for SecureCommandOp
Source§impl Serialize for SecureCommandOp
impl Serialize for SecureCommandOp
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl TryFrom<u8> for SecureCommandOp
impl TryFrom<u8> for SecureCommandOp
Source§impl Type for SecureCommandOp
impl Type for SecureCommandOp
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.